TShopping

 找回密碼
 註冊
搜索
查看: 1230|回復: 0
打印 上一主題 下一主題

[教學] [Android智慧型手機設計_Ch9_2_MediaPlayer_Audio播放器]

[複製鏈接]
跳轉到指定樓層
1#
發表於 2013-7-1 21:03:46 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
 
Push to Facebook


Audio檔案可以來自外部檔案(例如:SD卡)或是網路,步驟如下:

使用MediaPlayer類別的建構式來建立MediaPlayer的物件實體

呼叫setDataSource()並搭配路徑來指定欲播放的檔案

先呼叫prepare(),然後呼叫start()開始播放

如果呼叫stop()停止播放後還想繼續播放,必須呼叫reset()與prepare(),方可再呼叫start()開始播放


1.設計Ch9_2_MediaPlayer_Audio.java

  1. package com.example.ch9_2_mediaplayer_audio;

  2. import java.io.IOException;

  3. import android.media.AudioManager;
  4. import android.media.MediaPlayer;
  5. import android.os.Bundle;
  6. import android.app.Activity;
  7. import android.view.Menu;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.TextView;
  12. import android.widget.Toast;

  13. public class Ch9_2_MediaPlayer_Audio extends Activity {
  14. Button btn1,btn2,btn3;
  15. TextView tv1;
  16. MediaPlayer mp;
  17. @Override
  18. protected void onCreate(Bundle savedInstanceState) {
  19. super.onCreate(savedInstanceState);
  20. setContentView(R.layout.main);
  21. btn1=(Button)findViewById(R.id.button1);
  22. btn2=(Button)findViewById(R.id.button2);
  23. btn3=(Button)findViewById(R.id.button3);
  24. tv1=(TextView)findViewById(R.id.tv1);
  25. btn1.setOnClickListener(new OnClickListener(){
  26. public void onClick(View v) {
  27. playAudio("/mnt/sdcard/lee.mp3");
  28. Toast.makeText(getApplicationContext(), "播放SDCARD_Audio", Toast.LENGTH_LONG).show();
  29. }});
  30. btn2.setOnClickListener(new OnClickListener(){
  31. public void onClick(View v) {
  32. playAudio("http://192.168.255.184/lee.mp3");
  33. Toast.makeText(getApplicationContext(), "播放Netork_Audio", Toast.LENGTH_LONG).show();
  34. }});
  35. btn3.setOnClickListener(new OnClickListener(){
  36. public void onClick(View v) {
  37. if(mp !=null)
  38. mp.stop();
  39. Toast.makeText(getApplicationContext(), "停止播放", Toast.LENGTH_LONG).show();
  40. }});
  41. }
  42. public void playAudio(String path){
  43. tv1.setText("檔案來源----"+path);
  44. if(mp ==null)
  45. mp=new MediaPlayer();
  46. mp.reset();
  47. try {
  48. mp.setDataSource(path);
  49. mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
  50. mp.prepare();
  51. mp.start();
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. }
  56. @Override
  57. protected void onPause() {
  58. super.onPause();
  59. if(mp!=null){
  60. mp.release();
  61. mp=null;
  62. }
  63. }
  64. }
複製代碼


 

臉書網友討論
*滑块验证:
您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2024-4-26 16:12 , Processed in 0.097237 second(s), 25 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表