2011-12-08 4 views
0

OK私はそれを動作させました。コンテキストメニューに基づいて、ファイルを着信音、通知、またはアラームとして保存します。 (のみ着信音機能は、スペースの節約に示されている)更新:Soundboardアプリケーションソースコード

は、とが必要です:(約20かそこらプレスまったく音がしばらく後に果たしていないいくつかの理由について

と背中のうち、あなたまで、再び再生されません。アプリを起動してもう一度起動してください)また、「/ sdcard/media/etc」は「正しい方法」ではないと言われています。

誰が

1.release /一時停止/ホームボタンを押したときに遊んでから音を停止する方法上の任意の提案を持っている場合は、テキストが受け取っている、または戻るボタンがアプリを終了するために押され、など

とSDカードを取得する

2.正しい方法。私はそれを感謝します。 Q1へ

MediaPlayer mp1; 
MediaPlayer mp2; 
MediaPlayer mp3; 
MediaPlayer mp4; 
MediaPlayer mp5; 


protected void onDestroy() { 
super.onDestroy(); 
if(mp1 != null){ 
    mp1.release(); 
} 
if(mp2 != null){ 
mp2.release(); 
} 
if(mp3 != null){ 
    mp3.release(); 
} 
if(mp4 != null){ 
mp4.release(); 
} 
if(mp5 != null){ 
    mp5.release(); 
} 
} 

protected void onPause() { 
super.onPause(); 
if(mp1 != null){ 
    mp1.stop(); 
} 
if(mp2 != null){ 
mp2.stop(); 
} 
if(mp3 != null){ 
    mp3.stop(); 
} 
if(mp4 != null){ 
mp4.stop(); 
} 
if(mp5 != null){ 
    mp5.stop(); 
} 
} 
} 

protected void onResume() { 
super.onResume(); 

} 
+0

のAndroid開発者情報を読んでください。ハードコードされた値は使用せず、代わりに変数を使用してください。どのボタンが押されたかを追跡する変数を作成し、その変数をサウンドの保存方法に渡します。 – THelper

+0

// Button One /////////////////////////////////////////// //////////// ボタンSoundButton1 =(ボタン)findViewById(R.id.sound1);registerForContextMenu(SoundButton1); j = "Sound1"; SoundButton1.setOnClickListener(新しいOnClickListener(){ 公共ボイドのonClick(ビューV){ mCurrentSound = R.raw.sound1; mSoundManager.playSound(0); \t }})。 // Button Two ///////////////////////////////////////////////////////////////////////////// ///////////// ボタンSoundButton2 =(ボタン)findViewById(R.id.sound2);registerForContextMenu(SoundButton2); j = "Sound2"; SoundButton2.setOnClickListener(新しいOnClickListener(){ 公共ボイドのonClick(ビューV){ –

+1

公共ボイドのonClick(ビューV){ mCurrentSound = R.raw.sound2; mSoundManager.playSound(1); \t とこの –

答えて

0

回答:あなたの活動に方法を追加し、MediaPlayer'sstop()メソッドを呼び出します。 onDestroyメソッドを追加し、releaseに電話をかけて、mediaplayerが使用するリソースを解放する必要があります。

Q2への回答:this postをご覧ください。詳細については、Data Storage

+0

ありがとうございました。もうすぐあなたの提案を実装します。私をノブのように扱わないことに感謝します。 –

+0

Androidの神々は今夜笑顔になるはずです。私は試してみることができたかもしれない String path = Environment.getExternalStorageDirectory()+ "/ media/audio/ringtones /";前に と入力してエラーを投げました。おそらく私の遅い夜のコーディングで私は句読点か何かを逃した。 onPauseとonDrestroyもまさに私が必要としていたものです。あなたの答えは正しくマークされ、私ができることがあれば(コード賢明ではなく、明らかに笑)私に知らせてください。 –

+0

私はあまりにも早く話しました。 mp2.stop()をonPauseにしようとすると動作しますが、mp1.stop()にmp1.stop()を実行すると10個のメディアプレーヤーがあり、何かがうまくいかない場合はif(mp1.isplaying())が必要です。 {mp1.stop()} mp2が停止などを再生している場合はほかに?貯蓄はまだ機能します。 –

関連する問題