UI 스레드에서 매번 MediaPlayer.Play()
이 실행될 때 상당한 시간 동안 UI가 정지합니다. SongCollection을 시작하는 데 걸리는 시간에 대해서는 아무 것도 할 수 없다고 생각하지만 최소한 UI는 응답 성을 유지해야합니다. 다른 스레드에서 MediaPlayer.Play()
을 실행하면 분명히 작동하지 않습니다.MediaPlayer.Play()가 UI를 고정시킵니다.
답변
MediaPlayer는 Xna 네임 스페이스의 구성 요소입니다. 당신이 게임에서이 기능을 사용하는 경우 이러한 현상 동결을 방지하기 위해 GameLoop을 실행하는 가장 확실한 : 당신은 응용 프로그램이 구성 요소를 사용하는 경우 GameLoop
, 당신은 자신이 동작을 시뮬레이션 할 수 있습니다
public MainPage()
{ InitializeComponent();
// Timer to simulate the XNA Game Studio game loop (Microphone is from XNA Game Studio)
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = TimeSpan.FromMilliseconds(33);
dt.Tick += delegate { try { FrameworkDispatcher.Update(); } catch { } };
dt.Start();
}
(gameloop 외부에서 마이크를 실행하는 방법에 대한 전체 샘플보기 : msdn)
그래서 나머지 프로젝트를 루프 안에 넣어야한다는 말입니까? – Stacksatty
아니요. 루프는 게임 시나리오에서 사용됩니다. 귀하의 경우에는 오디오 구성 요소를 사용하는 페이지에 dispatcherTimer 만 추가하십시오. –
그래, 시도했지만 불행히도 고정되지 않았습니다. – Stacksatty
- 1. Android ObjectAnimator가 UI를 고정시킵니다.
- 2. AsyncTask가 UI를 고정시킵니다.
- 3. MVC3 응용 프로그램의 BackgroundWorker가 UI를 고정시킵니다.
- 4. iOS, ARC : 백그라운드 스레드가 UI를 고정시킵니다.
- 5. Android Dialog 및 AsyncTask가 UI를 고정시킵니다.
- 6. 비동기 작업에서 큰 sqllite 쓰기를 수행하는 Android는 UI를 고정시킵니다.
- 7. TWebbroser가 응용 프로그램 UI를 고정시킵니다. 디스크에서 HTML 파일을로드하십시오.
- 8. Android Handler가 GUI를 고정시킵니다.
- 9. Regex가 Ruby를 완전히 고정시킵니다
- 10. Prefuse가 JFrame을 고정시킵니다.
- 11. deleteRowsAtIndexPaths가 UITableView를 고정시킵니다.
- 12. Pthread가 stdout을 고정시킵니다.
- 13. VB.Net 루프가 프로그램을 고정시킵니다.
- 14. getDrawingCache가 앱을 고정시킵니다.
- 15. 스레드가 GUI를 완전히 고정시킵니다.
- 16. Timer_Tick이 프로그램을 고정시킵니다.
- 17. showInputDialog 다른 창을 고정시킵니다.
- 18. 리치 텍스트 디스플레이가 시스템을 고정시킵니다.
- 19. Dojo - ScrollingTabControllerMenuButton이 Firefox의 TabContainer를 고정시킵니다.
- 20. 자바 스윙 버튼이 프로그램을 고정시킵니다.
- 21. iOS7 AVMutableVideoCompositionLayerInstruction이 비디오 프레임을 고정시킵니다.
- 22. Devexpress 탐색 메뉴가 화면을 고정시킵니다.
- 23. genymotion이 전체 우분투 데스크탑을 고정시킵니다.
- 24. PHP 다운로드 파일이 컴퓨터를 고정시킵니다.
- 25. IE8은 winforms 응용 프로그램을 고정시킵니다.
- 26. Silverlight 컨트롤 InitializeComponent가 응용 프로그램을 고정시킵니다.
- 27. 브라우저 창이 축소되면 이미지를 고정시킵니다. 도와주세요!
- 28. JTable 헤더의 JButton에있는 ActionListener가 애플리케이션을 고정시킵니다.
- 29. 애플릿이 초기로드 페이지를 고정시킵니다. (Mac Firefox)
- 30. iOS5 코어 데이터 가져 오기가 앱을 고정시킵니다.
관련 코드를 게시 할 수 있습니까? – deathismyfriend