2011-09-14 7 views
2

아주 간단한 앱을 만드는 중입니다. 2 개의 버튼은 모두 소리를냅니다. 각 클립은 1 초 동안 지속되며 "TouchUpInside"에 응답합니다. 그것들은 iTunes에서 변환 한 .caf 파일입니다. 여기 오디오가 시뮬레이터에서는 작동하지만 iPad에서는 작동하지 않는 이유는 무엇입니까?

다시 한 번,이 시뮬레이터에서 작동하지만 장치에, 내 코드입니다 :

enter code here- (void)viewDidLoad { 

    NSLog(@"InView did load"); 

AudioServicesCreateSystemSoundID ((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"bigaif" ofType:@"caf"]], &systemSoundID); 


    AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:[[NSBundle mainBundle] 
                    pathForResource: @"smallwav" ofType:@"wav"]],                
                    &systemSoundIDTwo); 

가}

-(IBAction) playSound:(id) sender { 
AudioServicesPlaySystemSound(systemSoundID); 
} 

-(IBAction) playSoundTwo:(id) sender { 
AudioServicesPlaySystemSound(systemSoundIDTwo); 

}

+0

파일 이름에 아무런 문제가 없습니까? 사실 맥이 캐핑핑으로 설정되었고 파일 이름에 오타가 있었기 때문에 동일한 상황이었습니다. – aknew

+0

음, 혼자서 알아 냈습니다. 다른 사람들이이 실수를하지 않도록 솔루션을 게시하고 싶습니다. "SystemSound"를 사용하는 경우 설정에서 시스템 사운드가 나타나는지 확인하십시오. – JoshD

답변

4

내 대답을 발견했다. SystemSound를 사용하고 있었는데 무엇이 있는지 알고, 내 시스템 설정에서 소리가 나지 않게했습니다.

+0

이 설정은 볼륨 단추 옆의 장치 측면에있는 음소거 단추를 사용하여 변경할 수도 있습니다. – Radek

+0

다소 비슷한 문제. 설정으로 들어가서 소리 -> 벨소리 및 알림 음량을 높이면 해결됨 – northernman

0

이것은 나에게도 일어난 일입니다. 사운드는 시뮬레이터에서 정상적으로 재생되었지만 기기에서는 정상적으로 재생되지 않았습니다. 나는 여러 가지 다른 방법으로 소리를 재생하려했다. 나는 SystemSound와 AVAudioPlayer를 같은 결과로 사용했다. 심지어 downloaded the code from a Mobile Orchard 자습서, 그리고 같은 결과가있었습니다. 코드 예제는 시뮬레이터에서 잘 작동하지만 장치에서는 재생되지 않습니다.

2 시간 후에 iPad의 홈 버튼을 두 번 탭한 다음 사운드 컨트롤 왼쪽으로 스크롤 한 다음 왼쪽의 스피커 아이콘을 탭했습니다. 시스템 볼륨이 음소거되었음을 나타 내기 위해 스피커 아이콘에 슬래시가있었습니다. 나는 다시 도청을했고, 슬래시는 사라졌고, 나는 그 장치를 통해 소리를 낼 수있었습니다.

기본적으로이 방법을 사용하여 기기의 음소거 상태를 전환해야하고 iPad에서 소리를들을 수있는 곳으로 재설정해야합니다.

이것은 iOS6에 관한 것입니다.

3

동일한 문제가있었습니다. AudioToolbox.framework에 링크 참조를 추가하지 않았지만 여전히 시뮬레이터에서 작동했습니다. 장치를 추가하고 장치의 내 응용 프로그램의 전경에서 재생했습니다.

그런 다음 배경에서 소리를 재생하고 싶었습니다. info.plist "Required background modes"에서 "plays audio"키를 추가하십시오. 그게 배경을 작동 시켰어.

10

지난 30 분 동안 코드에서 오류를 찾았 으면 iPad 옆에있는 음소거 버튼이 켜져있는 것으로 나타났습니다. 멋진 솔루션을 시도하기 전에 확인하십시오.

30 분 잘 보내고 ...

+2

geezzzz ..., 감사의 말을 전합니다. – PeterPurple

+0

범례 ... 기다려 ... dary. 정말 고마워 :) –

관련 문제