2011-08-11 19 views
9

Uygulamalarımdan biri şu durumlarda başarısız oldu: "Uygulamam, müziği dinlemek istediğinde kullanıcıya sormadan arka plan müziğini durdurur".Arka planda başka bir sesin çalınması nasıl algılanır? (Windows Phone 7)

Şimdi soru şudur: arka planda herhangi bir müzik çalınıyorsa nasıl tespit edebiliriz?

Selamlar

+2

Sanırım "sormadan" cümlesini kaçırıyorsunuz. Aretha'yı otomatik olarak bulanıklaştırmayın, önce kullanıcının parmağını üzerine koymasına izin verin. Go Aretha! düğme, demek istedim. –

+0

@HansPassant, uygulamanızdaki Oynat düğmesine basarak = kullanıcı oynamayı kabul eder? – onmyway133

cevap

7
using Microsoft.Xna.Framework.Media; 

...

if (Microsoft.Xna.Framework.Media.MediaPlayer.State == MediaState.Playing) 
    { 
      .... 
    } 
+0

MediaPlayer, thnx üzerinde statik bir özellik hariç her şeyi düşündüm :) –

6

Sen MediaPlayer.GameHasControl özelliğini incelemek gerekir.

http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.gamehascontrol.aspx

MediaPlayer.State Eğer müzik çalıyorlar bile oynamak olacaktır. GameHasControl, müziğin uygulamanızdan başlatılıp başlatılmadığını veya uygulamanızın başlamasından önce başka bir uygulamanın oynatıldığını belirler. Sen OnActivated değeri alabilirsiniz

...

protected override void OnActivated(object sender, EventArgs args) 
{ 
    base.OnActivated(sender, args); 


    // cache music and trial mode values 
    Globals.GameHasMusicControl = MediaPlayer.GameHasControl; 

} 

Ve müzik çalabilir gerekip gerekmediğini belirlemek için oyun boyunca bu değeri kullanın.

+0

GameHasControl her zaman false :( – onmyway133

İlgili konular