AVAudioPlayer:MP3文件无法在设备上播放,但适用于模拟器(iOS 6)

rub*_*rin 4 iphone objective-c avaudioplayer ios

我正在使用下面的代码在iOS 6上播放带有AVAudioPlayer的MP3文件.该文件似乎正在播放,但设备上没有声音输出.它在iOS模拟器中工作正常.

档案.h:

#import "UIKit/UIKit.h"
#import "AVFoundation/AVFoundation.h"

@interface ViewController : UIViewController <AVAudioPlayerDelegate>

@property (strong, nonatomic) AVAudioPlayer *player;

@end
Run Code Online (Sandbox Code Playgroud)

档案.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
Run Code Online (Sandbox Code Playgroud)

And*_*Ley 5

您发布的代码对我来说很好.

  • 你确定你的目标中包含了beep_7.mp3吗?
  • 你确定文件名是正确的吗?iOS设备使用区分大小写的文件系统!
  • 你确定你的设备没有静音吗?
  • 您确定该文件是有效的MP3文件吗?