【问题标题】:AVPlayer doesn't play sound on iOS SimulatorAVPlayer 在 iOS 模拟器上不播放声音
【发布时间】:2015-02-12 15:46:03
【问题描述】:

我想在 iOS 模拟器上播放带有 AVPlayer 的 URL 中的音乐,但它不起作用:

- (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 上启用用户界面音效,但这并没有改变任何东西...

【问题讨论】:

  • 如果你使用NSError作为参数呢?
  • @Larme 我现在尝试使用 AVPlayer,它不是 nil 但我没有声音...

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


【解决方案1】:

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

@property (strong, nonatomic) AVPlayer *player;

在您的didSelectRowAtIndexPath 中将 AVPlayer 代码更改为此

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

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

[self.player play];

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2015-02-11
    • 2023-01-29
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    • 2023-04-06
    • 2011-08-30
    • 1970-01-01
    相关资源
    最近更新 更多