2016-09-13 3 views
1

В настоящее время мое приложение воспроизводит звуки, основанные на громкости звонка. Это раздражает многих пользователей, которые видят его приложение для звукового сопровождения. Я заметил, что когда появляется объявление с видео, регулятор громкости переходит в системный том после закрытия объявления и возобновления использования приложения. Имея это в виду, я надеялся использовать фиктивный (тихий) звук, воспроизводимый через AVAudioPlayer, после запуска приложения, несколько обманув его использованием системного звукового контроллера, а не звонка. Вот мой текущий код им с помощью для воспроизведения звуков:iOS Переключение с звонка на системный том с помощью манекена AVAudioPlayer

func playSound(fNameOnly : String, sFileExt : String = "mp3"){ 

    let soundUrl = NSBundle.mainBundle().URLForResource(fNameOnly, withExtension: sFileExt) 
    var SSID : SystemSoundID = 0 
    if gSoundsOn && soundUrl != nil { 

     AudioServicesCreateSystemSoundID(soundUrl!, &SSID) 

     AudioServicesPlaySystemSoundWithCompletion(SSID){ 
      AudioServicesDisposeSystemSoundID(SSID) 
      self.soundComplete(SSID) 
     } 

     self.soundArray.append(SSID) 
    } 
} 

Я надеялся, что кто-то может мне помочь с созданием Func/метода для воспроизведения фиктивной звукозаписи через AVAudioPlayer после запуска/открытия приложения.

ответ

0

У меня также есть эта проблема.

Проблема заключается в том, что AudioServicesPlaySystemSound всегда использует громкость звонка, в то время как AVAudioPlayer использует настройку громкости. Воспроизведение звука AVAudio до того, как SystemSound не изменит это поведение. Это может показаться таким, потому что теперь, когда вы нажимаете кнопки громкости, появляется «регулятор громкости», но вы заметите, что он не влияет на воспроизводимые звуки системы. Это настоящая боль.

В настоящее время я позволяю пользователям знать, что им необходимо настроить звуковой сигнал звонка на своем устройстве, установленном на «Изменить с помощью кнопок». Это позволяет им изменять громкость звонка во время игры. По-моему, это не очень хорошее решение. Я боюсь, что единственное решение - использовать AVAudioPlayer для всех звуков, которые могут иметь некоторые нежелательные задержки, когда вам нужен быстрый звук (например, при нажатии кнопки).

Смежные вопросы