从HTML5规范,它似乎支持SPX: http://dev.w3.org/html5/spec-preview/the-source-element.html
使用:
但是从我的尝试,它不能在Firefox 17和Chrome都玩了,你能帮忙吗?
从HTML5规范,它似乎支持SPX: http://dev.w3.org/html5/spec-preview/the-source-element.html
使用:
但是从我的尝试,它不能在Firefox 17和Chrome都玩了,你能帮忙吗?
我发现,在GitHub上(speex.js https://github.com/jpemartins/speex.js )可以解决你的问题。 随着speex.js可以解复用解码Speex语音文件(* .SPX或* .OGG),以WAV飞,这是由两个镀铬/火狐等众多现代浏览器的HTML5支持的准备。
<script src="bitstring.js"></script> <script src="pcmdata.min.js"></script> <script src="speex.js"></script>
/** * @param bufSpx ArrayBuffer (Uint8Array) holding content of speex file (*.spx or *.ogg) */ function decodeFile(bufSpx) { var stream, samples, st; var ogg, header, err; ogg = new Ogg(bufSpx, {file: true}); ogg.demux(); stream = ogg.bitstream(); header = Speex.parseHeader(ogg.frames[0]); console.log(header); comment = new SpeexComment(ogg.frames[1]); console.log(comment.data); st = new Speex({ quality: 8, mode: header.mode, rate: header.rate }); samples = st.decode(stream, ogg.segments); var waveData = PCMData.encode({ sampleRate: header.rate, channelCount: header.nb_channels, bytesPerSample: 2, data: samples }); // array buffer holding audio data in wav codec var bufWav = Speex.util.str2ab(waveData); // convert to a blob object var blob = new Blob([bufWav], {type: "audio/wav"}); // return a "blob://" url which can be used as a href anywhere return URL.createObjectURL(blob); }
细则中指出:
type属性给出了媒体资源的类型,以帮助用户代理确定它是否能够获取它之前播放此媒体资源。
该规范本身不指定任何音频或视频格式的支持,并支持高达个别浏览器。
...,没有浏览器据我所知支持.SPX。