AVPlayer在iOS模拟器上无法播放声音

时间:2015-02-12 15:46:04

标签: ios objective-c iphone ios-simulator avplayer

我想在iOS模拟器上使用AVPlayer播放来自网址的音乐,但它不起作用:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    Track *selectedTrack = self.tracksByAlbum[indexPath.row];

    NSLog(selectedTrack.preview);

    NSURL *url = [NSURL URLWithString:[selectedTrack.preview stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

    AVPlayer *player = [[AVPlayer alloc] initWithURL:url];

    if (!player) {
        NSLog(@"Error");
    }

    [player play];
}

网址是:

  

http://cdn-preview-6.deezer.com/stream/6d180c6b61078f437b04ec21bbe0fb76-3.mp3

我读到我必须在OS X上启用用户界面声音效果,但它不会改变任何东西......

1 个答案:

答案 0 :(得分:4)

如果你正在使用ARC,你需要保留AVAudioPlayer,因为它设置为自动为零,这可能是没有声音的原因。在您的标题文件中,如果您可以确保您的self.player属性设置为这样,

@property (strong, nonatomic) AVPlayer *player;

didSelectRowAtIndexPath内将AVPlayer代码更改为此

self.player = [[AVPlayer alloc] initWithURL:url];

if (!self.player) {
    NSLog(@"Error");
}

[self.player play];

我希望这会有所帮助