Hapus penundaan antara pengulangan lagu XNA?


8

Saya membuat game dengan XNA dan mencoba mendapatkan musik latar belakang untuk diulang dengan benar. Karena file tersebut adalah MP3 dengan panjang sekitar 30 detik, saya instantiated sebagai file Song. Saya ingin loop sempurna, tetapi bahkan ketika saya mengatur MediaPlayer.IsRepeatingproperti true, selalu ada penundaan sekitar satu detik sebelum lagu dimulai kembali. Apakah ada cara untuk menghilangkan penundaan ini sehingga lagunya berputar secara instan, sehingga dapat diputar lebih lancar?

Jawaban:


7

MediaPlayer di XNA selalu mengalami penundaan singkat saat memutar lagu dan saya belum melihat cara untuk menyelesaikan masalah ini. Apa platform target Anda? Anda dapat mempertimbangkan menggunakan XACT jika Anda menargetkan Xbox atau Windows karena tidak memiliki masalah yang sama dengan API MediaPlayer.

Saya akan merekomendasikan untuk tidak menggunakan SoundEffect (seperti yang direkomendasikan oleh Sprunth) untuk memutar musik latar jika Anda akan merilis di XBLIG atau pasar WP7 karena itu tidak cocok dengan pemutar media bawaan dan mengarah ke masalah sertifikasi / tinjauan sejawat . Misalnya, jika Anda memutar musik latar belakang sebagai Efek Suara di Xbox dan seorang pemain ingin menggunakan soundtrack kustom mereka sendiri, musik Anda akan tetap diputar di atas, sedangkan jika Anda menggunakan Lagu sesuai anjuran, "secara ajaib" akan berhenti. Hal-hal buruk yang serupa terjadi di telepon.


4
Terima kasih telah menjelaskan mengapa Songpilihan yang tepat di sini.
Stephane Beniak

+1 Untuk XACT. Anda harus mengimpor musik dan efek suara Anda sebagai file WAV yang tidak terkompresi dan memungkinkan XACT untuk mengompresnya dan mengemasnya ke dalam wavebank.
michael.bartnett

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.