2014-12-11 2 views
0

내 기본 메뉴 구현 파일의 "initWithSize"에 음악을 재생하기위한 코드를 넣었습니다. 로딩 화면이 뜨면 메인 메뉴 장면이로드됩니다. 로딩 화면이 나타나면 음악 재생이 시작되지만 로딩 화면이 사라지지 않고 음악이 반복되고 반복되지 않습니다. 나는 여기서 무슨 일이 일어나는지 정말로 모른다.AVAudioPlayer로 루핑되지 않는 음악

NSError *error; 
    NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"POL-parallel-fields-short" withExtension:@"mp3"]; 
    AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error]; 
    [player setVolume:0.1]; 
    [player prepareToPlay]; 

    SKAction* playAction = [SKAction runBlock:^{ 
     [player play]; 
     }]; 
    SKAction *playMusic = [SKAction repeatActionForever:playAction]; 

[self runAction:playMusic]; 
+0

나는 잘 이해하지 못한다. [자기 runAction : [SKAction repeatActionForever : [SKAction 시퀀스 : @ [playAction, [SKAction waitForDuration : musicTime]]]]; 시도해보십시오. –

답변

0

나는 ... '루핑'당신의 방법이 올바른지 생각하지 않는다

당신은
그냥 this-하기 위해 코드를 변경 시도, 그에 대한 작업을 만들 필요가 없습니다

NSError *error; 
NSURL *soundURL = [[NSBundle mainBundle] URLForResource:@"POL-parallel-fields-short" withExtension:@"mp3"]; 
AVAudioPlayer *player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundURL error:&error]; 
[player setVolume:0.1]; 
[player prepareToPlay]; 
player.numberOfLoops = -1; 
[player play]; 

numberOfLoops은 오디오가 재생할 루프 수를 설정하는 속성입니다.
사과 설명서에서 - 0이 기본값입니다. 오디오를 한 번 재생합니다.
양수는 재생할 횟수를 설정합니다.
음수를 지정하면 stop이 명시 적으로 호출 될 때까지 음악이 무한 루프됩니다.

로딩 화면이 왜 사라지지 않는지 전혀 알 수 없습니다.
관련 코드를 포함하지 않았으므로.

하지만 위와 같이하면 음악 문제가 해결됩니다.

+0

고마워요! 로딩 화면의 경우 Xcode가 자동으로이를 수행하기 때문에 관련 코드가 없습니다. –

+0

오 ... 사용자 지정로드 스크린을 만드는 중이라고 생각했는데 ... 앱 시작시 스플래시 화면에 머물렀다는 것을 의미합니까? 시뮬레이터와 장치에서 모두 발생합니까? 나는 같은 문제에 대해 불평하는 누군가를 읽었고, 나중에 그는 첫 번째 관점을 보여주기 전에 그의 앱이 무한 루프에 갇혀 있음을 알게되었다. 그 코드가 여기에 해당하지 않는지 확인할 수 있습니까? – AMI289

+0

난 그냥 루프를 만들려고했지만 여전히 동일한 문제가있었습니다. 그래서 내 앱을 시작할 때 시작 이미지가 나타나고 음악이 재생되기 시작합니다. 그러면 아무 일도 일어나지 않습니다. 시작 이미지에 머물러 있습니다. 음악을 루프에 넣으면 아무런 루프도 넣지 않으면 음악이 계속 재생됩니다. 그래도 아무 일도 일어나지 않습니다. –

관련 문제