Я пытаюсь воспроизвести аудиофайл при нажатии кнопки.
Если я пропущу свой код, он сработает, но если я просто нажму на кнопку, звук не будет воспроизводиться.
Вот мой код:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
AVAudioPlayer * player;
NSString * path = [[NSBundle mainBundle] pathForResource:@"soundOne" ofType:@"mp3"];
NSURL * url = [NSURL fileURLWithPath:path];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
[player play];
Это подходящий способ воспроизведения звука? Ничего не помечается как устаревшее.
Я также вижу это сообщение в отладчике:
AudioQueue: request to trim 0 + 2690 = 2690 frames from buffer containing 1152 frames
РЕДАКТИРОВАТЬ:
Этот код работает.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"soundOne"
ofType:@"mp3"];
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath];
self.audioPlayer = [[AVAudioPlayer alloc]
initWithContentsOfURL:fileURL error:nil];
[self.audioPlayer prepareToPlay];
self.audioPlayer.currentTime = 0;
[self.audioPlayer play];
Как я могу воспроизводить звук при включенной кнопке отключения звука?
Вот код, который я пробовал для этого:
CFStringRef state;
UInt32 propertySize = sizeof(CFStringRef);
OSStatus audioStatus = AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);
if (audioStatus == kAudioSessionNoError) {
//NSLog(@"audio route: %@", state);
return (CFStringGetLength(state) <+ 0);
}
return NO;
[[NSBundle mainBundle] URLForResource:@"soundOne" withExtension:@"mp3"]
- person dreamlax   schedule 04.02.2013