2011-01-14 2 views
8

"Flite"텍스트 음성 변환 엔진을 사용하여 특정 이벤트를 알리는 iPad 앱을 작성 중입니다. Flite 엔진은 렌더링 된 AVAudioPlayer 인스턴스를 사용하여 음성 오디오를 재생합니다. 재미로, 내 앱이 MPMusicPlayerController (물론)를 사용하여 실행되는 동안 사용자가 iPod 재생 (다음, 이전, 재생/일시 중지 및 볼륨 - 기본 사항)을 제어 할 수 있도록 앱에 간단한 컨트롤을 추가하기로 결정했습니다.iPod 볼륨 레벨이 앱 볼륨 레벨에 영향을 미침

내가 겪고있는 문제는 MPMusicPlayerController를 사용하여 iPod 볼륨을 조정할 때 다른 오디오 효과와 음성 오디오를 포함하여 모든 오디오가 영향을받습니다. 사운드를 재생하기 전에 다른 오디오 플레이어 (AVAudioPlayer 인스턴스)의 볼륨을 1.0으로 설정했지만 iPod 플레이어 볼륨이 설정되어있는 볼륨에 항상 볼륨이 설정되어있는 것으로 보입니다.

정상입니까? 그걸 해결하려면 어떻게해야합니까? iPod의 볼륨 레벨에 상관없이 내 앱의 오디오를 시스템 전체 볼륨으로 재생하고 싶습니다. (예 : 사용자가 시스템 볼륨을 기기의 최대 값의 80 %로 설정했습니다. 사용자가 80 %의 100 %에서 오디오를 재생하면서 iPod 오디오 재생을 80 %의 0-100 %로 조정할 수있게하고 싶습니다. %). 참고 : 저는 "ducking"에 관심이 없지만 내 앱이 실행되는 동안 (배경 음악) 항상 iPod 볼륨을 낮게 설정합니다.

또한 때로는 처음으로 앱을 실행하고 iPod 플레이어 ([플레이어 재생] 통화를 보내는)에서 재생을 누르면 iPod이 응답하지 않습니다. 홈 버튼을 누르면 iPod 앱으로 들어가서 재생을 시작하면 내 앱으로 돌아 오면 정상적으로 작동합니다. 그게 무슨 상관이야?

미리 도움 주셔서 감사합니다 !!

+0

안녕하세요, MPMusicPlayerController 및 AVAudioPlayer에서도 동일한 문제가 발생하므로이 솔루션을 사용하셨습니까? –

+0

아니요, "ducking"을 구현했지만이 솔루션은 저 또는 제 사용자에게 어떤 행동을하지 않습니다 ... – Vic320

답변

1

지정한 오디오 세션 카테고리와 관련이있을 수 있습니다. Audio Session Programming Guide을 확인하여 올바른 카테고리를 선택했는지 확인하십시오.

+0

이 설명서는 도움이되지 않습니다. 내가 할 수있는 유일한 방법은 내가 해낸 "도킹"을 구현하는 것이지만, 내가 또는 내 사용자가 원하는 것은 아니다 ... – Vic320

+0

어떤 오디오 세션 카테고리를 사용하고 있습니까? – jdmunro

+0

: kAudioSessionCategory_MediaPlayback 카테고리를 사용하고 있습니다. – Vic320

0

측면의 볼륨 버튼은 시스템 볼륨과 확장 프로그램의 사운드 볼륨을 제어합니다.

마스터 볼륨 컨트롤로 생각됩니다.

+0

사이드 버튼 볼륨 컨트롤을 무시하려고하지 않습니다. 나는 애플 리케이션의 볼륨에 상대적으로 아이팟 애플 리케이션의 볼륨을 낮추려고 노력하고 있습니다.그러나 iPod 앱의 볼륨을 낮추면 내 앱의 볼륨도 낮아집니다. 모든 볼륨 레벨은 버튼으로 설정된 마스터 볼륨보다 작거나 같습니다. – Vic320

0

특정 샘플의 볼륨을 설정하거나 응용 프로그램에서 또는 아이폰에 기존의 사운드 파일을 참조

당신은 만들 수 AVItem을 AVItem의 setVolume

[setVolume 항목]을 사용하여 소리. 코드는 매우 단순하고 다음과 같이 보입니다. ->

AVItem * item [[AVItem alloc] initWithPath : @ "the file"]; [item setVolume];

btw, 이것은 (일부 종류의 AVController 객체로 인스턴스화 된) 나머지 오디오 채널에는 영향을 미치지 않으며 코드에 설정 한 볼륨이 화면에 표시되지 않으므로 변경할 수 있는지 확실하지 않습니다. 런타임에.

+0

이것은 작동하지 않습니다. 볼륨을 100 % (1.0)로 설정하더라도 iPod 응용 프로그램의 볼륨이 설정된 것보다 높지 않습니다. iPod 볼륨 설정이 내 앱의 볼륨에 영향을주는 이유는 알 수 없습니다. 당연히, 나는 내 애플의 볼륨이 마스터 볼륨 레벨을 초과하지 않을 것으로 예상한다. Apple이 마스터 볼륨을 iPod 볼륨과 동일하게 만드는 지 궁금합니다. – Vic320

+0

AVAudioPlayer를 사용하고 있습니까? – luca590

+0

그렇지 않은 경우 고려해야 할 수도 있습니다. [setVolume]과 같은 API에있는 것이 아마도 더 잘 작동하기 때문에 – luca590