我怎么能用AVPlayer播放pcm

时间:2012-11-08 07:11:51

标签: iphone objective-c ios avplayer pcm

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

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

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

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

但是有一种样本方式可以让AVPlayer直接播放.pcm就像.mp3一样吗?

1 个答案:

答案 0 :(得分:4)

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

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

等等。

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

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