1

我使用 AVPlayer 播放流式网络音频。

我从 Apple修改示例代码AVPlayerDemo

工作很好。但是播放一段时间后,播放器有杂音,有人称之为“刮擦声”。

我检查了代码,任何时候我的播放器只有一个 AVPlayer 对象,一个用于标记的 AVPlayerItem 对象,一个用于标记的 AVURLAsset 对象。我明确地使用“alloc, retain, realease”,所以这不是内存开销的问题。

你能知道是什么原因引起的噪音吗?谢谢

4

1 回答 1

2

我有个类似的问题。使用AVPlayerAVAudioPlayer一段时间,在我的情况下播放多个剪辑之间有停顿,会导致音频降级。首先它开始变得沙哑,然后随着它变得更糟,它最终完全脱落并且听不见。

我尝试AVAudioPlayer's为每个剪辑创建新的,但无济于事。

我怀疑是音频文件本身 (*.m4a) 导致了问题。即使经过几轮降噪,有些本身也含有静电。尽管其中的静态不是 AVAudioPlayer 引入的静态。

我正在研究两种替代理论和一种理论;

  1. 使用原始的 *.wav 文件或 *.mp3 文件
  2. 停用/激活AVAudioSession剪辑之间或定期。
  3. 这可能只是一个模拟器问题,不会发生在设备上(理论上)。

虽然这些可能不适用于您的流,但也许这里有一个解决方案。

更新: *.wav 与 *.m4a 没有区别。

更新:这不会发生在设备本身上,只发生在我的模拟器中。

于 2013-01-04T18:47:56.060 回答