首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AudioContext直播

AudioContext直播
EN

Stack Overflow用户
提问于 2014-03-07 17:21:40
回答 2查看 1.6K关注 0票数 3

使用WebAudio接口播放直播的正确方式是什么?

我正在尝试下面的代码,但是我看到的是MP3正在下载,但没有播放;可能MediaElementSource需要一个文件,而不是连续的流。

代码语言:javascript
运行
复制
window.AudioContext = window.AudioContext||window.webkitAudioContext;
context = new AudioContext();

var audio = new Audio();
var source = context.createMediaElementSource(audio);
source.connect(context.destination);
audio.src = '<live mp3 stream>';
audio.play();
EN

回答 2

Stack Overflow用户

发布于 2014-03-07 23:10:08

试一试

代码语言:javascript
运行
复制
audio.addEventListener('canplaythrough', function() {
  audio.play();
}, false);
票数 1
EN

Stack Overflow用户

发布于 2019-10-28 19:06:39

您可能会错过启用CORS的托管直播流的audio.crossOrigin = "anonymous"

这也是我的整个工作解决方案,MP3:

代码语言:javascript
运行
复制
window.AudioContext = window.AudioContext || window.webkitAudioContext;

const context = new AudioContext();

const audio = new Audio();
audio.crossOrigin = 'anonymous'; // Useful to play hosted live stream with CORS enabled

const sourceAudio = context.createMediaElementSource(audio);
sourceAudio.connect(context.destination);

const playHandler = () => {
  audio.play();
  audio.removeEventListener('canplaythrough', playHandler);
};
const errorHandler = e => {
  console.error('Error', e);
  audio.removeEventListener('error', errorHandler);
};

audio.addEventListener('canplaythrough', playHandler, false);
audio.addEventListener('error', errorHandler);

audio.src = '<live mp3 stream>';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22246050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档