/** * @author Jefferson González * @copyright 2010 Jefferson González * * @license * This file is part of Jaris FLV Player. * * Jaris FLV Player is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License or GNU LESSER GENERAL * PUBLIC LICENSE as published by the Free Software Foundation, either version * 3 of the License, or (at your option) any later version. * * Jaris FLV Player is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License and * GNU LESSER GENERAL PUBLIC LICENSE along with Jaris FLV Player. If not, * see . */ package jaris.utils; /** * Some utility functions */ class Utils { /** * Converts degrees to radians for easy rotation where applicable * @param value A radian value to convert * @return conversion of degree to radian */ public static function degreesToRadians(value:Float):Float { return (Math.PI / 180) * value; } /** * Converts a float value representing seconds to a readale string * @param time A given time in seconds * @return A string in the format 00:00:00 */ public static function formatTime(time:Float):String { var seconds:String = ""; var minutes:String = ""; var hours:String = ""; var timeString:String = ""; if (((time / 60) / 60) >= 1) { if (Math.floor((time / 60)) / 60 < 10) { hours = "0" + Math.floor((time / 60) / 60) + ":"; } else { hours = Math.floor((time / 60) / 60) + ":"; } if (Math.floor((time / 60) % 60) < 10) { minutes = "0" + Math.floor((time / 60) % 60) + ":"; } else { minutes = Math.floor((time / 60) % 60) + ":"; } if (Math.floor(time % 60) < 10) { seconds = "0" + Math.floor(time % 60); } else { seconds = Std.string(Math.floor(time % 60)); } } else if((time / 60) >= 1) { hours = "00:"; if (Math.floor(time / 60) < 10) { minutes = "0" + Math.floor(time / 60) + ":"; } else { minutes = Math.floor(time / 60) + ":"; } if (Math.floor(time % 60) < 10) { seconds = "0" + Math.floor(time % 60); } else { seconds = Std.string(Math.floor(time % 60)); } } else { hours = "00:"; minutes = "00:"; if (Math.floor(time) < 10) { seconds = "0" + Math.floor(time); } else { seconds = Std.string(Math.floor(time)); } } timeString += hours + minutes + seconds; return timeString; } /** * Converts a given rtmp source to a valid format for NetStream * @param source * @return */ public static function rtmpSourceParser(source:String):String { if (source.indexOf(".flv") != -1) { return source.split(".flv").join(""); } else if (source.indexOf(".mp3") != -1) { return "mp3:" + source.split(".mp3").join(""); } else if (source.indexOf(".mp4") != -1) { return "mp4:" + source; } else if (source.indexOf(".f4v") != -1) { return "mp4:" + source; } return source; } /** * Changes a youtube url to the format youtube.com/v/video_id * @param source * @return */ public static function youtubeSourceParse(source:String):String { return source.split("watch?v=").join("v/"); } }