Audio Toolbox를 사용하여 .wav 파일을 재생하려고합니다. 나는 지금까지 이것을 가지고있다 : 그러나 나의 파일은 재생되지 않을 것이다. If 조건은 오른쪽으로 트리거되지만 재생되지는 않습니다. 그러나 파일이 없으면 오류 메시지가 인쇄됩니다. 무엇이 잘못 되었는가?Audio Toolbox로 .wav를 재생하십시오.
-(void) playSound : (NSString *) fName : (NSString *) ext
{
SystemSoundID audioEffect;
NSString *path = [[NSBundle mainBundle] pathForResource : fName ofType :ext];
if ([[NSFileManager defaultManager] fileExistsAtPath : path])
{
NSURL *pathURL = [NSURL fileURLWithPath : path];
AudioServicesCreateSystemSoundID((__bridge CFURLRef) pathURL, &audioEffect);
AudioServicesPlaySystemSound(audioEffect);
}
else
{
NSLog(@"error, file not found: %@", path);
}
AudioServicesDisposeSystemSoundID(audioEffect);;
}
'AudioServicesCreateSystemSoundID'에 의해 반환 된'OSStatus'의 값은 무엇입니까? 사용중인 WAV 파일의 출처는 무엇입니까? LPCM 또는 다른 호환 가능한 형식의 샘플이 포함되어 있는지 확인 하시겠습니까? 메소드의 끝 부분에서 사운드 ID를 처리하지 않으면 어떻게됩니까? – warrenm
@warrenm 나는 그 라인을 지웠고 효과가 있었다. 고마워. 하지만 ARC는 메모리를 자동으로 폐기합니까? –