Loại bỏ sự chậm trễ giữa các bài hát XNA lặp?


8

Tôi đang tạo một trò chơi với XNA và cố gắng để có một số nhạc nền được lặp lại chính xác. Bởi vì tệp là một tệp MP3 có độ dài khoảng 30 giây, tôi đã khởi tạo nó dưới dạng a Song. Tôi muốn nó lặp lại hoàn hảo, nhưng ngay cả khi tôi đặt thuộc MediaPlayer.IsRepeatingtính true, luôn có độ trễ khoảng một giây trước khi bài hát bắt đầu lại. Có cách nào để loại bỏ sự chậm trễ này để bài hát lặp lại ngay lập tức, để nó có thể phát trôi chảy hơn không?

Câu trả lời:


7

MediaPlayer trong XNA luôn có độ trễ ngắn khi lặp các bài hát và tôi chưa thấy cách nào để giải quyết vấn đề. Nền tảng mục tiêu của bạn là gì? Bạn có thể cân nhắc sử dụng XACT nếu bạn đang nhắm mục tiêu Xbox hoặc Windows vì nó không có vấn đề tương tự như API MediaPlayer.

Tôi khuyên bạn không nên sử dụng SoundEffect (như Sprunth khuyên dùng) để phát nhạc nền nếu bạn định phát hành trên thị trường XBLIG hoặc WP7 vì điều đó không phù hợp với trình phát đa phương tiện tích hợp và dẫn đến các vấn đề đánh giá / chứng nhận ngang hàng . Ví dụ: nếu bạn phát nhạc nền dưới dạng SoundEffect trên Xbox và người chơi muốn sử dụng nhạc nền tùy chỉnh của riêng họ, nhạc của bạn sẽ vẫn phát trên đầu, trong khi nếu bạn đã sử dụng Bài hát như được đề xuất thì nó sẽ "dừng lại" một cách kỳ diệu. Những điều tồi tệ tương tự xảy ra trên điện thoại.


4
Cảm ơn đã làm rõ lý do tại sao Songsự lựa chọn thích hợp ở đây.
Stephane Beniak

+1 Đối với XACT. Bạn nên nhập các hiệu ứng âm nhạc và âm thanh của mình dưới dạng tệp WAV không nén và cho phép XACT nén chúng và đóng gói chúng vào các dạng sóng.
michael.bartnett

4

Tôi đã tạo một ứng dụng xna nhanh với mp3 ~ 15 giây và có thể xác nhận rằng MediaPlayer có vấn đề này khi lặp. Tôi đã thử lại với SoundEffect (và SoundEffectInstance để lặp trong XNA4) và vấn đề đã biến mất. Vì vậy, tôi đoán bạn có thể chuyển sang SoundEffect?

Một số nghiên cứu / nguồn: Vòng lặp nhạc sử dụng vấn đề MediaPlayer Cách khắc phục khoảng cách trì hoãn khi lặp MP3 trong XNA 3.0

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.