gpt4 book ai didi

javascript - 指定

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:33 24 4
gpt4 key购买 nike

我需要一种方法来指定类似的东西

<audio src="http://somesite.com/track/377374"></audio>

有一个 mp3 文件作为源。我无法在 url 末尾使用 .mp3 扩展名,因此我需要其他方法来实现此目的。我正在使用自定义播放器 jQuery 插件,如果它无法确定音频标签中指定的文件格式,它会回退到旧浏览器版本。有办法实现吗?

最佳答案

有一个检查文件扩展名并尝试匹配的函数

    canPlayType   = function( file )
{
var audioElement = document.createElement( 'audio' );
return !!( audioElement.canPlayType &&
audioElement.canPlayType( 'audio/' + file.split( '.' ).pop().toLowerCase() + ';' ).replace( /no/, '' ) );
};

如果假设此函数返回真值或更改为类似以下内容:

    canPlayType   = function( type )// type = mp3
{
var audioElement = document.createElement( 'audio' );
return !!( audioElement.canPlayType &&
audioElement.canPlayType( 'audio/' + type.toLowerCase() + ';' ).replace( /no/, '' ) );
};

然后插件第 75 行的更新代码会假设文件是​​ mp3 并像使用 src 时那样做......源元素仍然可以以传统方式使用。

else if( canPlayType( 'mp3' ) ) isSupport = true; // here change this

要检测源类型(如@ruakh 所建议的那样,需要(再次)编辑代码:

if( typeof audioFile === 'undefined' )
{
$this.find( 'source' ).each( function()
{
audioFile = $( this ).attr( 'src' );
var sourceType = $( this ).attr( 'type' );
if( typeof audioFile !== 'undefined' &&
typeof sourceType !== 'undefined' &&
canPlayType( sourceType.split( '/' ).pop().toLowerCase() ) )
{
isSupport = true;
return false;
}
});
}

关于javascript - 指定 <audio> 中的 src =""是没有 .mp3 扩展名的 mp3 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15254808/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com