AVAudioPlayer无法使用.pls shoutcast文件?

时间:2012-11-18 00:08:15

标签: ios avaudioplayer avplayer shoutcast

美好的一天,

我正在开发一个收听shoutcast流.pls文件的Radio APP,并在AVFoundation框架的帮助下播放它。

这项工作很容易用AVPlayer完成,但问题是我无法编码或找到任何好的解决方案让它使用音量滑块,AVPlayer类没有音量属性。

所以现在我正在尝试使用具有volume属性的AVAudioPlayer,这是我的代码:

NSString *resourcePatch = @"http://vibesradio.org:8002/listen.pls";
NSData *_objectData = [NSData dataWithContentsOfURL:[NSURL URLWithString:resourcePatch]];
NSError *error;

vPlayer = [[AVAudioPlayer alloc] initWithData:_objectData error:&error];
vPlayer.numberOfLoops = 0;
vPlayer.volume = 1.0f;
if (vPlayer == nil)
    NSLog(@"%@", [error description]);
else
    [vPlayer play];

此代码正在使用我的服务器上传的.mp3文件,但它不能与shoutcast生成的.pls文件一起使用,

有没有办法修复AVAudioPlayer以使用.pls文件,或者将音量滑块设置为AVPlayer?

1 个答案:

答案 0 :(得分:1)

AVAudioPlayer用于网络流不是一个好主意。了解Apple的文档在AVAudioPlayer上所说的内容:

  

AVAudioPlayer类的一个实例,称为音频播放器,   提供来自文件或内存的音频数据播放。

     

Apple建议您使用此课程进行音频播放,除非   正在播放从网络流捕获的音频或需要非常低的音频   I / O延迟。

要更改AVPlayer's卷,请查看以下问题:Adjusting the volume of a playing AVPlayer