0

我一直使用音频工具箱播放我的声音,但用户说没有声音,这是因为当您处于静音状态时它不会播放。我已经尝试过很多次换成 av 基础,但它对我来说从来没有用过。这是我现在尝试使用的代码:

- (IBAction)soundbutton:(id)sender {
NSString *path = [[NSBundle mainBundle] pathForResource:@"EASPORTS" ofType:@"mp3"];
AVAudioPlayer * theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:NULL];

[theAudio play];}
4

1 回答 1

3

原因可能是在 ARC 中,您的音频播放器是由 ARC 发布的,因此您需要对 进行强引用AVAudioPlayer,您可以通过设置AVAudioPlayeras 类级别属性来做到这一点。这是你的做法,在你的 .h文件中是这样的

@property (strong, nonatomic) AVAudioPlayer *theAudio;

并在.m文件中像这样合成它

@synthesize theAudio;

最后你的代码看起来像这样

- (IBAction)soundbutton:(id)sender {
    NSString *path = [[NSBundle mainBundle] pathForResource:@"EASPORTS" ofType:@"mp3"];
    self.theAudio=[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
[self.theAudio play];
}

还要检查您的委托方法是否有响应

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag;
- (void)audioPlayerDecodeErrorDidOccur:(AVAudioPlayer *)player error:(NSError *)error;
于 2013-02-28T19:34:03.027 回答