需要帮助使用 AVAudioPlayer iOS 从 URL 流式传输音频
Need help streaming Audio from URL using AVAudioPlayer iOS
我正在使用 twilio 创建一个 phone 应用程序。我有一个 link 到语音邮件,我正在尝试从 tableview 中的控件播放语音邮件。因为在我决定简化一切并尝试从任何 URL 流式传输音频之前,我从未流式传输过音频。我尝试从中流式传输音频的 URL 是“http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8”。
我曾尝试使用 Apples 开发者页面中的示例,但我想我只是不理解文档。
这是我目前正在尝试的方法,但出现错误。
NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
NSError *error;
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
我得到这个错误...
Error Domain=NSOSStatusErrorDomain Code=2003334207 "The operation couldn’t be completed. (OSStatus error 2003334207.)"
我是在朝着正确的方向前进,还是应该做一些不同的事情。我发现了许多不同的主题,但 none 我看到的内容让我播放音频。向正确的方向推进将不胜感激。
我也尝试过使用 AVPlayer...
NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
self.player = [[AVPlayer alloc] initWithURL:url];
[self.player play];
什么也没发生
试试这个
@property (nonatomic,strong) AVPlayer *audioStremarPlayer;
NSURL *url = [NSURL URLWithString:@"your url"];
// stremar player
AVPlayer *player = [[AVPlayer alloc]initWithURL:url];
self.audioStremarPlayer= player;
[self.audioStremarPlayer addObserver:self forKeyPath:@"status" options:0 context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == self.audioStremarPlayer && [keyPath isEqualToString:@"status"]) {
if (self.audioStremarPlayer.status == AVPlayerStatusFailed)
{
// //NSLog(@"AVPlayer Failed");
}
else if (self.audioStremarPlayer.status == AVPlayerStatusReadyToPlay)
{
[self.audioStremarPlayer play];
}
else if (self.audioStremarPlayer.status == AVPlayerItemStatusUnknown)
{
// //NSLog(@"AVPlayer Unknown");
}
}
}
我正在使用 twilio 创建一个 phone 应用程序。我有一个 link 到语音邮件,我正在尝试从 tableview 中的控件播放语音邮件。因为在我决定简化一切并尝试从任何 URL 流式传输音频之前,我从未流式传输过音频。我尝试从中流式传输音频的 URL 是“http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8”。
我曾尝试使用 Apples 开发者页面中的示例,但我想我只是不理解文档。
这是我目前正在尝试的方法,但出现错误。
NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
NSError *error;
self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
我得到这个错误...
Error Domain=NSOSStatusErrorDomain Code=2003334207 "The operation couldn’t be completed. (OSStatus error 2003334207.)"
我是在朝着正确的方向前进,还是应该做一些不同的事情。我发现了许多不同的主题,但 none 我看到的内容让我播放音频。向正确的方向推进将不胜感激。
我也尝试过使用 AVPlayer...
NSURL *url = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
self.player = [[AVPlayer alloc] initWithURL:url];
[self.player play];
什么也没发生
试试这个
@property (nonatomic,strong) AVPlayer *audioStremarPlayer;
NSURL *url = [NSURL URLWithString:@"your url"];
// stremar player
AVPlayer *player = [[AVPlayer alloc]initWithURL:url];
self.audioStremarPlayer= player;
[self.audioStremarPlayer addObserver:self forKeyPath:@"status" options:0 context:nil];
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if (object == self.audioStremarPlayer && [keyPath isEqualToString:@"status"]) {
if (self.audioStremarPlayer.status == AVPlayerStatusFailed)
{
// //NSLog(@"AVPlayer Failed");
}
else if (self.audioStremarPlayer.status == AVPlayerStatusReadyToPlay)
{
[self.audioStremarPlayer play];
}
else if (self.audioStremarPlayer.status == AVPlayerItemStatusUnknown)
{
// //NSLog(@"AVPlayer Unknown");
}
}
}