TShopping

 找回密碼
 註冊
搜索
TShopping 精選文章 Android 手機開發 查看內容

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

2013-7-10 19:51| 發佈者: woff| 查看: 439| 評論: 0|原作者: woff

摘要: Audio檔案可以來自外部檔案(例如:SD卡)或是網路,步驟如下: 使用MediaPlayer類別的建構式來建立MediaPlayer的物件實體 呼叫setDataSource()並搭配路徑來指定欲播放的檔案 先呼叫prepare(),然後呼叫start()開始 ...
 

1.jpg



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, 2017-11-23 21:07 , Processed in 0.038144 second(s), 20 queries .

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

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回頂部