2

我正在使用 AVPlayer 从服务器播放本地 .mp3 文件和音频流。我也想播放本地 .pcm 文件。

NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory
                                                   , NSUserDomainMask 
                                                   , YES); 
NSString * voiceFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"OutPut.pcm"]; 

但它没有用。我收到未知错误。

似乎 AudioQueue 可以正确播放 .pcm。

但是有没有一种示例方法可以让 AVPlayer 像 .mp3 一样直接播放 .pcm?

4

1 回答 1

4

文件扩展名或 PCM 数据均未.pcm指定可读格式。播放器无法识别任意数据流。它当然能够读取包含 PCM 数据的文件格式,但是这种 PCM 表示缺少典型的音频文件格式表示的几件事:

  • 采样率
  • 样本量
  • 样本格式
  • 通道数

等等。

您应该将 PCM 数据保存为播放器支持的音频文件格式(例如 WAV 文件)。

如果您更喜欢简单地流式传输 PCM 音频信息并且您知道流格式,则可以使用 AudioQueue 解决该问题。

于 2012-11-08T07:25:44.653 回答