2011-03-29 2 views
5

나는 게임을하고 있습니다. 그리고 나는 소리에 대해 어떤 문제가있다.시스템 소리가 볼륨 레벨을 무시합니다.

플레이어가 버튼을 누르면 시스템 소리를 사용하여 플레이어를 확인합니다. 이 사운드는 다른 사운드가 재생 될 때 플레이어가 설정 한 볼륨을 고려합니다 (AVAudioPlayerAudioQueue을 사용). 그러나 시스템 사운드가 재생 될 때만 플레이어가 설정 한 볼륨을 무시하고 벨소리 볼륨으로 재생합니다.

다른 사운드가 재생되지 않는 경우에도 시스템 사운드가 플레이어가 설정 한 볼륨을 유지하도록 강제하는 방법은 무엇입니까?

+0

이것은 오래된 문제이지만 배경에 더미 AVAudioPlayer가있는 것으로 생각해 봤습니다 (루핑 플레이어가있는 매우 짧은 샘플). 어리석은 짓이며 자원 낭비이지만 트릭을해야합니다. 또한 : 네, 이건 짜증나! – kritzikratzi

+0

@Aleksejs : 혹시 이것을 알아 냈습니까? 나는 똑같은 문제를 겪고 있으며 가능한 경우 AVAudioPlayer 해킹을 피하고 싶습니다. – Michael

+0

@Michael Noup, 저는 배경 음악을 위해'AVAudioPlayer'를 사용하고 있습니다. 나는이 문제에 대한 다른 해결책을 모른다. –

답변

0

기기의 볼륨 조절기를 통해 또는 앱 인터페이스를 통해 플레이어가 (게임을하는 사람들을 의미한다고 가정) 볼륨을 어떻게 설정합니까? 후자의 경우 시스템 소리가 항상 장치 볼륨에서 재생되어야하므로이 방법은 작동하지 않습니다.

Multimedia Programming Guide에 따르면 "사운드는 현재 시스템 오디오 볼륨에서 재생되며 프로그래밍 방식의 볼륨 컨트롤을 사용할 수 없습니다."

AVAudioPlayer 사운드가 재생 될 때 시스템 소리가 볼륨을 변경하는 이유를 알 수 없습니다. 그렇다면 다른 사운드를 재생하지 않을 때 AVAudioPlayer로 조용한 사운드를 반복 할 수 있습니까? 그렇지 않으면 당신은 볼륨을 직접 제어 할 수 있도록 AVAudioPlayer로 모든 사운드를 재생 해보려고합니다.

+0

플레이어는 iPhone 옆면의 볼륨 버튼으로 볼륨을 조절할 수 있습니다. –

3

플레이어가 장치의 측면 볼륨 버튼을 사용하여 볼륨을 설정하는 것을 의미하는 당신을 가정 :

나는 볼륨 버튼을 존중 SystemSound을 받고 같은 문제를했지만, "설정"/ "사운드에 설정을 발견

"/"벨소리 및 알림 "/"기본적으로 "꺼짐"이었던 버튼으로 변경. "ON"으로 전환하면 작동됩니다.