2

再会,

我正在开发一个 Radio APP,它可以获取广播流 .pls 文件并在 AVFoundation 框架的帮助下播放它。

使用 AVPlayer 可以轻松完成这项工作,但问题是我无法编写代码或找到任何好的解决方案来让它与音量滑块一起使用,AVPlayer 类没有音量属性。

所以现在我试图让它与具有音量属性的 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 文件,但不适用于由喊声生成的 .pls 文件,

有什么方法可以修复 AVAudioPlayer 以使用 .pls 文件,或者将音量滑块实现到 AVPlayer ?

4

1 回答 1

1

使用AVAudioPlayer来自网络的流不是一个好主意。查看 Apple 在AVAudioPlayer上的文档:

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

Apple 建议您将此类用于音频播放,除非您正在播放从网络流中捕获的音频或需要非常低的 I/O 延迟。

要更改AVPlayer's音量,请检查此问题:调整正在播放的 AVPlayer 的音量

于 2012-11-18T00:28:44.347 回答