我需要使用HTML5媒体标签从本地计算机创建所选媒体(音频和视频)的播放列表。我使用以下代码
http://jonhall.info/how_to/create_a_playlist_for_html5_audio
现在面临的问题是这一行 extension = audio.canPlayType('audio / mpeg')? '.mp3':audio.canPlayType('audio / ogg')? '.ogg':'';
它只播放音频文件,如果我将其更改为视频/ mp4它只播放视频文件,如果我使用if else然后第一个条件正在工作
if(audio.canPlayType('video/mp4')) {
extension = '.mp4';
}
else if
(audio.canPlayType('audio/mpeg')) {
extension = '.mp3';
}
请帮助我说明我可以在播放列表中播放这两种类型媒体的条件,如果可能的话,我也可以根据所选媒体的类型切换视频/音频标签。
感谢提前
答案 0 :(得分:0)
要在播放列表中同时使用视频和音频,您应该使用html5视频标记而不是音频标记。您不需要来回切换。视频标签将同时播放音频和视频文件。
要使用列出的网站中的代码,您需要知道是否正在加载视频或音频文件。然后,您可以根据脚本中的浏览器支持确定要使用的正确扩展名。请参阅下面的新html5视频和音频播放列表示例:
http://jonhall.info/examples/html5_video_audio_playlist_example.html
在新示例中,我替换了代码:
extension = audio.canPlayType('audio/mpeg') ? '.mp3' : audio.canPlayType('audio/ogg') ? '.ogg' : '';
有一个功能:
getExtension = function(type) {
extension = '';
if(type === 'a') {
if(video.canPlayType('audio/mpeg')) {
extension = '.mp3';
}
if(video.canPlayType('audio/ogg')) {
extension = '.ogg';
}
}
if(type === 'v') {
if(video.canPlayType('video/mp4')) {
extension = '.mp4';
}
if(video.canPlayType('video/ogg')) {
extension = '.ogv';
}
}
return extension;
};
将字母'a'
传递给音频,或将'v'
字母传递给视频。