美好的一天,
我正在开发一个收听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?
答案 0 :(得分:1)
将AVAudioPlayer
用于网络流不是一个好主意。了解Apple的文档在AVAudioPlayer上所说的内容:
AVAudioPlayer类的一个实例,称为音频播放器, 提供来自文件或内存的音频数据播放。
Apple建议您使用此课程进行音频播放,除非 正在播放从网络流捕获的音频或需要非常低的音频 I / O延迟。
要更改AVPlayer's
卷,请查看以下问题:Adjusting the volume of a playing AVPlayer