我是Android新手,我試圖做一些簡單的操作,比如單擊按鈕時播放自定義MP3。這似乎是一個fairlycommonquestion,但即使我的代碼遵循的例子,我沒有得到任何錯誤,我沒有聽到模擬器或真正的手機中的任何聲音。在Android中點擊按鈕時播放聲音
我MainActivity.java:
public class MainActivity extends Activity {
private static final String TAG = "MyActivity";
public void MyActivity(Bundle onSavedStateInstance) {
Log.v(TAG, "Initializing sounds...");
final MediaPlayer mp = MediaPlayer.create(this, R.raw.alarma_67560);
Button play_button = (Button)this.findViewById(R.id.play_button);
play_button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Log.v(TAG, "Playing sound...");
mp.start();
}
});
Log.v(TAG, "Sounds initialized.");
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
而且我activity_main.xml中:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" />
<Button
android:id="@+id/play_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/play_button" />
</RelativeLayout>
我使用的Eclipse插件,它不顯示任何錯誤,開發和似乎運行應用程序在模擬器或真正的手機中正確,但是當我點擊播放按鈕時,沒有任何反應。我不確定模擬器是否支持聲音(但我假設它是這樣的),並且我已經確認聲音在手機上取消靜音。
我在做什麼錯?
此外,我沒有看到我的日誌語句顯示在任何地方,無論是在Eclipse的控制檯或LogCat面板。我應該看到那些打印的地方?
你可能想調用一些簡單的東西,如'MusicManager.getInstance()。play(this,R.raw.my_sound);'。爲此,您需要正確的資源管理。您可以爲此使用一個輕量級庫:https://github.com/delight-im/Android-Audio – caw 2015-04-01 22:43:05