Как воспроизвести звуковой файл в беззвучном режиме iPhone SDK? - PullRequest
2 голосов
/ 01 декабря 2010

Как воспроизвести звуковой файл в беззвучном режиме iPhone SDK?

Я пытаюсь воспроизвести звуковой файл в беззвучном режиме, но результат равен нулю

Я пробовал этот код

SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:fullpath],&soundID);
AudioServicesPlaySystemSound (soundID);

при импорте в заголовочный файл

#import <AudioToolbox/AudioToolbox.h>

создать ошибку типа

ошибка: ожидаемый идентификатор перед '\ x786f7073'

Asnwer как можно скорее .....

Заранее спасибо

С уважением

StupidiPhoneDeveloper

Ответы [ 2 ]

3 голосов
/ 01 декабря 2010

Спасибо, Бадди, за такой быстрый ответ я нашел решение

С помощью следующего кода вы можете проверить свой профиль iPhone (обычный / тихий) и вот код

CFStringRef state; 
UInt32 propertySize = sizeof(CFStringRef); 
AudioSessionInitialize(NULL, NULL, NULL, NULL);
AudioSessionGetProperty(kAudioSessionProperty_AudioRoute, &propertySize, &state);

if(CFStringGetLength(state) == 0) { 
    //SILENT
NSLog(@"Silent switch is on");

    //create vibrate
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
    //this 2 line below use to play audio even in silent/vibrator mode too      

    UInt32 audioCategory = kAudioSessionCategory_MediaPlayback;
    AudioSessionSetProperty( kAudioSessionProperty_AudioCategory, sizeof(UInt32), &audioCategory);
}
else {
    //NOT SILENT
    NSLog(@"Silent switch is off");
}

и об этой ошибке

error: expected identifier before '\x786f7073'

Просто напишите строку ниже в каждом заголовочном файле класса

#import <AudioToolbox/AudioToolbox.h>
3 голосов
/ 01 декабря 2010

Вы должны определить категорию аудио-сеанса, которая не отключается выключателем звука.

Проверьте страницу аудио-сеанса на сайте разработчика Apple: http://developer.apple.com/library/ios/#documentation/Audio/Conceptual/AudioSessionProgrammingGuide/AudioSessionCategories/AudioSessionCategories.html%23//apple_ref/doc/uid/TP40007875-CH4-SW1

Возможно, AVAudioSessionCategoryPlayAndRecord имеет значениетот, который вам нужен.

...