2011-08-06 13 views
5

私は携帯電話の曲のコレクションから音楽を再生にしようとしています。サウンド効果7

効果音の特性は、曲のコレクションから再生をサポートしていますか?

前へ私はこの曲を再生するためにメディアプレーヤーを使用しましたが、一時停止できないように音楽を設定したいと考えています。効果音のため

コード: とSoundEffectエフェクト。 SoundEffectInstanceインスタンス。

 effect = SoundEffect.FromStream(ml.Songs[songSelectedIndex]); 
     instance = effect.CreateInstance(); 
     instance.IsLooped = true; 
     instance.Volume = 1.0f; 
     instance.Pitch = 1.0f; 
     instance.Play(); 

メディアライブラリのコード:

 using (var ml = new MediaLibrary()) 

     { 
      FrameworkDispatcher.Update(); 
      MediaPlayer.Play(ml.Songs[songSelectedIndex]); 
      MediaPlayer.IsRepeating = true; 
     } 

答えて

1

Songは音楽ストリームが含まれており、唯一のMedia Playerで再生することができるクラスです。 FromStream方法があることストリームを必要とするため、コードが動作していない理由は、

  • PCMウェーブファイル
  • モノラルまたはステレオ
  • 8または16ビット
  • 8,000の間ヘルツそして、48,000 Hzのサンプルレート

は、私はこれを試してみました、また認証ガイドラインが作るものを知っていませんMediaPlayerで音楽を一時停止できないようにすることができます。 MediaStateChangedイベントを処理し、音楽が一時停止しているかどうかを確認します。そうである場合は、Resumeメソッドを呼び出して再生を続行します。

編集 - コードを更新:

MediaStageChangedイベントの処理は、他のイベントと同じです。あなたのイベントハンドラで

MediaPlayer.MediaStateChanged += new EventHandler<EventArgs>(MediaPlayer_MediaStateChanged); 

、次の操作を行います。

void MediaPlayer_MediaStateChanged(object sender, EventArgs e) 
{ 
    if (MediaPlayer.State == MediaState.Paused) MediaPlayer.Resume(); 
} 
+0

私はmediaStateChangedを使用する方法について研究しようとしたが、私は本当にそれでサンプルを見つけるdidntの。例がありますか? –

+0

@ben tan - 更新された回答 – keyboardP