我需要使用HTML5媒体标签从本地机器创建选定媒体(音频和视频)的播放列表。我正在使用以下代码
http://jonhall.info/how_to/create_a_playlist_for_html5_audio
现在我面临的问题就在这一行
extension=audio.canPlayType('audio/mpeg')?'。mp3":audio.canPlayType('audio/ogg')?"。ogg':'';
如果我将其更改为video/mp4,它只播放音频文件如果我使用if-else,它也只播放视频文件那么第一个条件也是工作
if(audio.canPlayType('video/mp4')) {
extension = '.mp4';
}
else if
(audio.canPlayType('audio/mpeg')) {
extension = '.mp3';
}
请帮我弄清楚我可以在这里设置什么条件来播放播放列表中的两种类型的媒体,如果可能的话,我还可以切换所选媒体类型的视频/音频标签。
提前感谢
要在播放列表中同时使用视频和音频,您应该使用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'
传给视频。