Возможно, вы захотите использовать AVAudioPlayer вместо AudioServices.
Следующий код будет принимать аудиофайл (.m4a) и воспроизводить аудиофайл 1 раз. Не забудьте выпустить «audioPlayer», когда вы закончите с ним.
NSString *urlAddress = [[NSBundle mainBundle] pathForResource:@"filename" ofType:@"m4a"];
NSURL *url = [NSURL fileURLWithPath:urlAddress];
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
audioPlayer.numberOfLoops = 0;
if (audioPlayer == nil)
{
NSLog([error description]);
}
else
{
[audioPlayer play];
}
Надеюсь, что этот пример поможет вам воспроизвести аудио на самом устройстве. Также может быть хорошей идеей увеличить звук устройства при воспроизведении файла.
Примечание: вам нужно будет добавить структуру AVFoundation в свой проект, если вы еще этого не сделали. Также импортируйте файл заголовка.
#import <AVFoundation/AVFoundation.h>
Update:
от компании Apple Core Audio Обзор Document
Audio Session Услуги
Audio Session Services позволяет управлять аудио сессий в вашем приложении, координируя поведение звука в приложении с помощью фонового приложения катионов на iPhone или iPod touch. Службы Audio Session состоят из подмножества функций, типов данных и констант, объявленных в заголовочном файле AudioServices.h в AudioToolbox.framework.
AVAudioPlayer Класс
Класс AVAudioPlayer предоставляет простой интерфейс Objective-C для воспроизведения звуков. Если ваше приложение не требует стереофонического позиционирования или точной синхронизации, и если вы не воспроизводите звук, записанный в сетевом потоке, Apple рекомендует использовать этот класс для воспроизведения. Этот класс объявляется в файле заголовка AVAudioPlayer.h в AVFoundation.framework.
Разве ваш объем отклонен? –
Громкость установлена почти макс. – user230949
Убедитесь, что ваш телефон не находится в тихом режиме! Я потратил 2 часа, чтобы узнать это ... – Mathieu