2013-10-06 3 views
1

나는 mp3를 재생하려고 내 응용 프로그램을 시도하고 찾을 수있는 모든 것을 시도했습니다. 나는 효과가있는 사운드 이펙트로 작동하는 2-3 초의 mp3를 가지고 있습니다. 그러나 나는 행운이없이 15 mp3를 재생하려고합니다.재생 15 초 mp3 ios

NSError *error; 
    AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"test" withExtension: @"mp3"] error:&error]; 
    if (error) { 
     NSLog(@"Error creating audio player: %@", [error userInfo]); 
    } else { 
     if([audioPlayer play] == FALSE) { 
      NSLog(@"Fail %@", error); 
     } 
    } 
    NSTimer* myTimer = [NSTimer scheduledTimerWithTimeInterval: 15.0 target: self 
                 selector: @selector(stopMusic) userInfo: nil repeats: NO]; 

나는 타이머가 그것과 아무 상관이 의심하지만 난 단지의 경우에 포함 거라 생각 했어요. 기본적으로 내 오류 검사가 전혀 실행되지 않습니다. "제대로"재생해야하지만 소리가 나오지 않으며 오류가 표시되지 않습니다.

나는이 작업을 시도하고 시도하기 위해 몇 가지 다른 시도를했지만 타이머없이 시도했습니다. 나는보기 흉하지 않은 가이드를 찾을 수 없다. 나는 완전히 날려 버린 미디어 플레이어, UIScreenViewController을위한 배경 음악을 필요로하지 않습니다.

다음 코드를 시도해 보았습니다.이 코드는 짧은 MP3에서 효과적이며, 더 긴 MP3로 재생하지 못합니다.

NSString *path = [[NSBundle mainBundle] pathForResource:@"bgmusic" ofType:@"mp3"]; 
NSURL *pathURL = [NSURL fileURLWithPath : path]; 
AudioServicesCreateSystemSoundID((__bridge CFURLRef)pathURL, &audioEffect); 
AudioServicesPlaySystemSound(audioEffect); 

도와주세요,이 정렬하려고 시간을 보냈습니다. OS를 출시 할 때마다 오디오가 사과 소리를 재현하는 것처럼 보입니다.

+0

플레이어가 게임을한다고 생각합니까? if 블록 다음에'[audioPlayer playing]'을 호출하고 기록하십시오. 어쩌면 mp3 파일에 뭔가 있을까요? 귀하의 코드는 내게 적합합니다. –

+0

사실을 출력하므로 재생 중임을 알립니다. – FaddishWorm

답변

2

약간의 테스트를 거쳤습니다. Xcode 5에서 기본적으로 음악 파일이 대상에 추가되지 않았습니다. 따라서 URLForResource:error:nil을 반환합니다.

프로젝트에서 mp3를 제거 해보십시오. 그런 다음 다시 추가하고이 시간 메이크업의 SHURE 당신은 당신의 목표에 추가 :

Xcode Screenshot

다른 것은입니다 : 당신이 방법 안에 AVAudioPlayer를 정의하는 것처럼 보인다. 일반적으로 오디오 플레이어에 대해 @property을 설정합니다. 그렇지 않으면 수명이 메서드에 제한적이므로 메서드가 끝나면 음악 재생이 중지되기 때문입니다.

+0

이미 대상을 복사 중입니다. 메소드의 AVAudioPlayer였습니다 - 와우는 그 하나의 감사를 놓쳤다는 것을 믿을 수 없습니다! – FaddishWorm