AVPlayer 不在 iOS 模拟器上播放声音
AVPlayer doesn't play sound on iOS Simulator
我想在 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];
}
url 是:
http://cdn-preview-6.deezer.com/stream/6d180c6b61078f437b04ec21bbe0fb76-3.mp3
我读到我必须在 OS X 上启用用户界面音效,但这并没有改变任何东西...
如果您使用的是 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];
希望对您有所帮助
我想在 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];
}
url 是:
http://cdn-preview-6.deezer.com/stream/6d180c6b61078f437b04ec21bbe0fb76-3.mp3
我读到我必须在 OS X 上启用用户界面音效,但这并没有改变任何东西...
如果您使用的是 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];
希望对您有所帮助