【发布时间】:2013-12-20 20:05:10
【问题描述】:
我正在使用下面的代码在 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
【问题讨论】:
-
如果你实现了委托方法
audioPlayerDecodeErrorDidOccur:error:,你看到什么错误了吗? -
我已经实现了那个方法,它没有出现任何日志... -(void)audioPlayerDecodeErrorDidOccur: (AVAudioPlayer *)player error:(NSError *)error { NSLog(@"audioPlayerDecodeErrorDidOccur -> Error在音频播放器中:%@",[错误本地化描述]); }
-
您似乎正在设备上进行测试。它可以在 iOS 模拟器中运行吗?
-
确实如此。它可以在 iOS 模拟器中运行,但在我的 iPhone 中却不行……我的 iPhone 可能有什么问题?
-
我犯了几个错误。首先,我的文件已损坏,其次,我关闭了静音按钮。无论如何谢谢:)
标签: iphone ios objective-c avaudioplayer