2013-03-05 2 views
0

내 앱 백그라운드에서 오디오 파일을 재생하려고하는데 재생 중이 아닙니다. 내가 가지고있는 코드는 다음과 같습니다.iOS xcode 4.6 앱에 오디오 추가

SystemSoundID SoundID; 
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"HoHey" ofType:@"mp3"]; 
AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundFile], &SoundID); 
AudioServicesPlaySystemSound(SoundID); 
NSLog(@"%@ is playing\n", soundFile); 

NSLog에 "HoHey.mp3 is playing"이 표시되지만 재생할 수 없습니다. 비디오를 재생할 때 내 비디오가 재생되는 것을 들었 기 때문에 볼륨이 올라갔습니다. 어떤 아이디어?

답변

0

아마도 어딘가에 오류가있을 수 있습니다. (예를 들어, "soundID"대신 "SoundID"의) 목표 - C 변수 이름을 대문자로하지 않는,

SystemSoundID soundID; 
NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"HoHey" ofType:@"mp3"]; 
if(soundFile) 
{ 
    OSStatus status = AudioServicesCreateSystemSoundID((__bridge CFURLRef)[NSURL fileURLWithPath:soundFile], &soundID); 
    if(status == noErr) 
    { 
     AudioServicesPlaySystemSound(soundID); 
     NSLog(@"%@ is playing\n", soundFile); 
    } else { 
     NSLog(@"no sound id created; error status code is %d", status); 
    } 
} else { 
    NSLog(@"couldn't find sound file... is it really in your app bundle?"); 
} 

추신 :이처럼 보이는 코드를 사용해보십시오.

+0

오류가있는 것 같지만 이유는 확실하지 않습니다. 다음은 NSLog의 출력입니다. 사운드 ID가 생성되지 않았습니다. 오류 상태 코드는 AudioServices.h에 따라 -1500 – GoLakers

+0

이고 -1500 오류는 "kAudioServicesSystemSoundUnspecifiedError'"입니다. 이것은 도움이되지는 않지만 응용 프로그램 패키지에 복사 한 mp3 파일에 문제가있을 수 있습니다. –

+0

프로젝트 폴더에서 HoHey.mp3 파일을 수동으로 클릭하면 파일이 재생됩니다. 나는 내 아이튠즈에서 노래를 얻고있다. 먼저 iTunes에서 노래를 프로젝트로 직접 끌어 왔지만 작동하지 않아서 .m4a 파일이 재생되지 않는다고 생각했습니다. 그런 다음 파일을 바탕 화면으로 드래그하여 mp3 확장명으로 바꾼 다음 다시 프로젝트로 가져 왔습니다. iTunes에서 Xcode로 파일을 가져올 수 있습니까? 아니면 문제가 있다고 생각합니까? – GoLakers