[英]AVAudioPlayer: MP3 file not playing on device, but works in Simulator (iOS 6)
我正在使用下面的代码在iOS 6上播放带有AVAudioPlayer的MP3文件。该文件似乎正在播放,但设备上没有声音输出。 它在iOS模拟器中工作正常。
档案.h:
#import "UIKit/UIKit.h"
#import "AVFoundation/AVFoundation.h"
@interface ViewController : UIViewController <AVAudioPlayerDelegate>
@property (strong, nonatomic) AVAudioPlayer *player;
@end
档案.m:
#import "ViewController.h"
@implementation ViewController
@synthesize player;
- (void)viewDidLoad {
[super viewDidLoad];
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"beep_7" ofType:@"mp3"];
NSLog(@"Audio path: %@", soundFilePath);
NSError *error;
player =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundFilePath] error:&error];
if (error) {
NSLog(@"Error in audioPlayer: %@",[error localizedDescription]);
}
else {
[player setDelegate:self];
[player setNumberOfLoops:3]; //just to make sure it is playing my file several times
player.volume = 1.0f;
if([player prepareToPlay]) //It is always ready to play
NSLog(@"It is ready to play");
else
NSLog(@"It is NOT ready to play ");
if([player play]) //It is always playing
NSLog(@"It should be playing");
else
NSLog(@"An error happened");
}
}
@end
您发布的代码对我来说很好。
检查设备的静音模式是打开还是关闭? 我曾经遇到过和你一样的问题,在我改变了我的模式之后,一切都解决了!
你有没有设置AudioSessionCategory?
{
NSError *setCategoryError = nil;
BOOL success = [[AVAudioSession sharedInstance] setCategory:
avaudiosessioncategoryplayandrecorderror: &setCategoryError];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.