簡體   English   中英

使用簡單的圖形播放iOS網絡音頻時的噼啪聲和噪音

[英]crackles and noises when playing iOS web audio with simple graph

使用createMediaElementSource()將音頻元素與Web音頻圖形連接時,我注意到在iOS設備(iPhone,iPad)上播放時偶爾會出現噼啪聲。 當使用運行相同代碼的(便宜的)Android設備或macOS桌面時,我從未體驗過這些問題。

播放開始后很快就會出現噪音並在整個文件中持續存在。 通常,當播放開始后不久沒有聽覺問題時,它們根本不會出現。

可以在這里找到演示,但請注意,我可能需要重試幾次,直到出現問題https://jsfiddle.net/st___h/36w7vxn2/8/show

完整代碼: https//jsfiddle.net/st___h/36w7vxn2/8/

記錄iPad輸出,說明問題可以在這里找到: https//st-h.github.io/test/ios_playback_noise.mp3

這是用於設置圖形的剪切:

var context = new(window.AudioContext || window.webkitAudioContext)();
var gainNode = context.createGain();

var audio = new Audio();
audio.loop = true;
audio.crossOrigin = "anonymous";

audio.addEventListener('error', function(e) {
  alert(e);
});
var source = context.createMediaElementSource(audio);
source.connect(gainNode);
gainNode.connect(context.destination);

audio.src = "https://st-h.github.io/test/latencies.mp3";
audio.play();
gainNode.gain.setValueAtTime(0.9, gainNode.context.currentTime);

如果我只是將源連接到目的地而兩者之間沒有任何節點,則問題不太可能出現。 使用像分析儀這樣的不同節點不會產生任何顯着差異。

當打印出audioContext的sampleRate時,我注意到可能會顯示44100或48000。 但是,我沒有發現出現的問題與使用的采樣率之間存在任何關聯。 (檢查是因為過去有報告稱這可能是一個問題,噪音類型可能與錯誤的采樣率有關)

使用iPhone 6s和iPad Pro(2017)測試。 有趣的是,這也顯示在iOS上使用Chrome瀏覽器。 有什么想法可能會出錯嗎?

更新

添加畫布和分析器節點似乎增加了出現問題的可能性: https//jsfiddle.net/st___h/36w7vxn2/27/show

我還向蘋果蟲記者提交了一個錯誤

19年3月29日

可能這可能是webkit中的一個錯誤: https //bugs.webkit.org/show_bug.cgi id = 196293 https://bugs.webkit.org/show_bug.cgi?id=190552至少它看起來我不是唯一面臨類似問題的人。

一個月后,錯誤報告仍未收到任何回復。 發布到apple dev論壇的帖子也沒有通知。

這讓我瘋狂多年。 Steve Hummingbird,你在這里提到的BufferSource解決方法是否允許你暫停和恢復播放?

https://forums.developer.apple.com/thread/114772

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM