나는 30 초의 오디오 파일을 가지고 있으며 재생 중에 12 개의 다른 지점에서 콜백을 받고 싶습니다. 그래서 몇 가지 애니메이션을 시작할 수 있습니다. 예를 들어, 1.3, 3.2, 4.8, 9.8, 12.3, 15.5, 18.1, 20.4, 22.5, 24.5, 27 및 29 초. iOS에서 어떻게 할 수 있습니까?미리 정해진 시간에 콜백으로 오디오를 재생 하시겠습니까?
0
A
답변
0
iOS/Objective-C에는 여러 가지 방법이 있습니다. 오디오가 재생되었다는 것을 보장하는 실제 오디오 플레이어의 콜백을 원하지 않는다고 가정합니다. 오디오를 재생할 때 사용하는 메커니즘 에 오디오가 실제로 재생되기 시작했을 때 콜백이 있습니다 (더 잘 동기화 할 수 있도록). 당신이 사용하는 경우,
또는 새로운 신기한 그랜드 센트럴 디스패치 버전
double delayInSeconds = 3.2;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
NSLog(@"later");
});
매우 일반적인 일이
[self performSelector:@selector(myMethod:) withObject:someArgumentOrNil afterDelay:3.2];
또는 당신이 그것을 사용하는 방법을 볼 수 NSTimer
를 조회 할 수 있습니다 최신 OS 및 멀티 코어 장치, GCD는 좋은 방법입니다.
애니메이션 패키지 (예 : cocos2d)를 사용하는 경우에는 종종 타이밍 후크가 있습니다. 확장 된 질문에 대한
추가 : 모든 애니메이션이 다른 경우
, 그 다음은 당신이해야 할 일의 양입니다. 만약 그들이 모두 같거나 같으면 NSTimer가 .1 (예를 들어) 초마다 전화를 걸고 실제 경과 시간을 테스트 할 수 있습니다. 다음 임계 값을 치면 조치가 시작됩니다 . (상황은 시간에 실행되도록 보장 할 수 없습니다 - 앱이 늦게 실행 할 수있는 CPU 돼지 인 경우.) 더 복잡 것 경우
if (currentTime >= thresholdTime) {
[self doAnim];
thresholdTime = nextOneInLine;
}
예, 당신은 가능성이 몇 가지 클래스를 구축하려는 처리해. 배열을 시간 순서대로 작성하고 큐처럼 취급하십시오.
관련 문제
- 1. iphone 정해진 시간에 알람 소리 재생
- 2. 미리 녹음 된 오디오를 음성 전화로 재생
- 3. 미리 정해진 경로를 따라 움직이는 이미지?
- 4. html5를 사용하여 비디오 및 오디오를 재생 하시겠습니까?
- 5. 녹음 중에 짧은 오디오를 재생 하시겠습니까?
- 6. 녹음 된 오디오를 UILocalNotification에서 재생
- 7. 오디오를 여러 개의 출력으로 재생
- 8. WPF에서 오디오를 재생하면서 반복 재생
- 9. Windows에서 (XP에서 Windows 7로) 오디오를 파이썬으로 재생 하시겠습니까?
- 10. MIDI를 TMemoryStream에서 재생 하시겠습니까?
- 11. iOS : 브라우저에서 배경을 재생 하시겠습니까?
- 12. .net의 기본이 아닌 재생 장치로 오디오를 재생하십시오.
- 13. 멀티 태스킹 : 특정 시간에 백그라운드 오디오를 중지하십시오.
- 14. wp7의 특정 시간에 소리 재생
- 15. AVPlayer는 AVAudioPlayer의 준비와 비슷한 오디오를 미리 버퍼링 할 수 있습니까?
- 16. 페이지 내에서 ogg를 재생 하시겠습니까?
- 17. AVPlayer 스트리밍 - 특정 시간에 스트림 재생
- 18. SpeakHere를 수정하여 기기에서 재생 한 오디오를 녹음하십시오.
- 19. Java로 재생 오디오를 캡처 할 수 있습니까?
- 20. 미리 설정된 시간에 가상 박스 시작/중지
- 21. MediaPlayer가있는 출처로 Android에 오디오를 녹음 하시겠습니까?
- 22. SQL Server에 오디오를 저장 하시겠습니까?
- 23. 재생 시간에 따라 MPMoviePlayerController를 관찰하는 방법은 무엇입니까?
- 24. 오디오 재생 중 특정 시간에 콜백
- 25. 비디오 재생 시간에 반투명 비디오를 원합니다.
- 26. AS NetStream이 정해진 초에 버퍼링 시작
- 27. 한 번에 여러 오디오를 Android에서 녹음 하시겠습니까?
- 28. 오디오 장치를 사용하여 오디오 파일을 재생 하시겠습니까?
- 29. 문자열을 일정 시간에 복사 하시겠습니까?
- 30. Spotify 재생 버튼 - 자동 재생 하시겠습니까?
실제로 콜백이 더 필요하기 때문에 제 질문이 커졌습니다. 솔루션이 확장 될 것이라고 생각하십니까? 나는 항상 오디오의 시작과 다른 타이머 사이에 지연이 없다고 가정하고 있다고 생각하십니까? –
수정 된 답변 – bshirley