我正在尝试在iOS上播放视频,同时只收听立体声音频的一面。
以下代码在桌面Chrome上运行良好,但在iPhone 5上的Safari上没有适用于8.3 iOS。
var AudioContext = window.webkitAudioContext;
var audioCtx = new AudioContext();
var splitter = audioCtx.createChannelSplitter(2);
var merger = audioCtx.createChannelMerger(1);
source = audioCtx.createMediaElementSource(video);
source.connect(splitter);
splitter.connect(merger, 0);
merger.connect(audioCtx.destination);
'视频'是对DOM视频元素的引用。
非常感谢任何帮助
非常感谢
萨'芳
答案 0 :(得分:0)
这是一个polyfill,用于检查Web音频是否存在以及是否使用-webkit
。
//borrowed from underscore.js
function isUndef(val){
return val === void 0;
}
if (isUndef(window.AudioContext)){
window.AudioContext = window.webkitAudioContext;
}
if (!isUndef(AudioContext)){
audioContext = new AudioContext();
} else {
throw new Error("Web Audio is not supported in this browser");
}
还有一个类似的IOS错误here可能会有所帮助。
答案 1 :(得分:-1)
检查设备使用的音频上下文类型而不是||
。例如:
var AudioContext
if('webkitAudioContext' in window) {
AudioContext = new webkitAudioContext();
}
else{
AudioContext = new AudioContext ();
}