2009-07-31 2 views
0

Objective-C에서 iPhone 용으로 코딩 중이며 일련의 소리를 재생하는 배열을 만들려고합니다. 예를 들어 I 버튼을 누르면 처음 그때, 그 소리 "0.wav",하지만 난 그게 "1.wav"을 재생하고자하는 두 번째 시간을 재생하려는 "2.wav", " 3.wav ", 등등. 총 14 개의 사운드 (최대"13.wav ")를 연주했을 때 루프가 0.wav로 재생되기를 원합니다. 나는 행운을 빌지 않고 거의 4 일 동안 구글과 애플 개발 문서를 둘러 보았다. 그래서 누군가가 내가 코드에 대해 크게 도움을 줄 수 있다면 도움이 될 것입니다. 그리고 마음에 들지 않으면 코드를 간략하게 설명하여 각 부분의 기능을 배울 수 있습니다. 배열을 사용하여 버튼을 특정 순서로 재생하려면 어떻게해야합니까?

는 조이 감사


편집 내가 배열 부분 아래 (토마스 덕분에)하지만 우리 둘은 배열에서 soundID을 구현하는 방법을 잘되어 왔 좋아

내가 사운드를 연주하는 동작과 그 사운드를 재생하는 방법. Thomas가 자신의 답변에 도움이된다면 아래에 자신의 배열에 사용 된 형식을 사용했습니다. 그런 다음

NSArray *sounds = [[NSArray alloc] initWithObjects:@"0.wav", @"1.wav", nil]; // add all your files here 
NSUInteger currentSound = 0; 

, 당신이 당신의 버튼을 탭 이벤트를 처리 할 때, 다음으로 이동 :

+0

버튼을 누를 때마다 배열의 새 요소에 액세스하는 방법에 대한 도움을 요청하고 있습니까? .wav 파일을 재생하고 재생 하시겠습니까? – smorgan

+0

글쎄, 배열의 새로운 요소에 접근하는 방법을 구현하는 방법을 물어보고, 새로운 요소를 모두 한 번에 쉽게 플레이 할 수 있도록 노력하고 있습니다. – JoeyParis

답변

0

는 첫째, 다른 소리의 배열과 현재 인덱스를 보유하는 변수를 만들

감사합니다, 조이 소리를 내고 연주하십시오. NSArray가 끝나면 0으로 돌아갑니다.

currentSound++; 
if (currentSound >= [sounds count]) { 
    currentSound = 0; 
} 

// play the sound. Just call your own method here 
[self playSoundWithFilename:[sounds objectAtIndex:currentSound]]; 
+0

각 코드는 어디에 넣어야합니까? 나는 현재 "viewDidLoad"에 첫 번째 것이고 사운드를 재생하기 위해 버튼을 눌렀을 때 호출하는 액션 중 두 번째 것입니다. 무효입니다. IBAction일까요? 그리고 헤더 파일에 무엇이든 선언 할 필요가 있거나 프레임 워크에서 모두 미리 수행해야합니다. 배열에서 가져온 결과를 사용하여 사운드 파일을 재생하는 방법은 무엇입니까? 배열의 현재 값을 파일 soundID로 사용하는 방법을 모르겠습니다. – JoeyParis

+0

첫 번째 부분에서는 viewDidLoad가 좋습니다. dealloc에서 NSArray를 해제해야합니다. 당신의 행동은 무효를 리턴 할 수 있습니다. 저는 Interface Builder에게 행동이라는 것을 기본적으로 알려주기 위해 IBAction이 필요하다고 생각합니다. IBAction은 무효라고 알고 있습니다. 소리를 재생하는 것에 대해 확실하지 않아서, 나는 그 경험이 없습니다. –

+0

도움에 감사드립니다. 확실히 많은 도움이되었습니다. 소리를 재생하는 방법에 대해 물어볼 것입니다. – JoeyParis

관련 문제