HTML5移动版:仅播放iOS上视频流的音频的一面

时间:2015-06-15 15:25:41

标签: javascript ios html5 audio web-audio

我正在尝试在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视频元素的引用。

非常感谢任何帮助

非常感谢

萨'芳

2 个答案:

答案 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 ();
}