我正在尝试使用AVPlayer播放mp3(相机快门声)。我已经将所有内容都删除到一个简单的按钮,当按下时,它会播放声音。所有对象都正确创建,但是当我在iPhone或iPad(都运行iOS 6)上运行应用程序时,不会产生声音。不,静音按钮未打开,音量调高。 :)我可以在两台设备上的其他应用程序中听到声音。
我做了些蠢事吗?
- (void)playCameraShutterSound
{
NSURL *url = [[NSBundle mainBundle] URLForResource:@"Grab" withExtension:@"mp3" ];
AVPlayer* player = [AVPlayer playerWithURL:url];
[player play];
}
答案 0 :(得分:10)
'玩家'被释放方法结束。 它必须保留为类变量。
答案 1 :(得分:0)
尝试这些行并将“yoursound.mp3”替换为您的文件名。:
NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/yoursound.mp3", [[NSBundle mainBundle] resourcePath]]];
AVAsset *asset = [AVURLAsset URLAssetWithURL:url options:nil];
AVPlayerItem *anItem = [AVPlayerItem playerItemWithAsset:asset];
avplayer = [AVPlayer playerWithPlayerItem:anItem];
[avplayer play];