国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android實現多媒體之播放音樂

2019-12-12 03:44:35
字體:
來源:轉載
供稿:網友

閑來無聊,最近了解了一下多媒體的一些初步知識。

音頻播放主要設計到MediaPlayer這個類,播放音頻的路徑可以來源于三個地方。

1.應用內的音頻

public class MediaPlayActivity extends AppCompatActivity { private SeekBar seekBar; private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_media_play);  seekBar = (SeekBar) findViewById(R.id.seekBar);  seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {   @Override   public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {   }   @Override   public void onStartTrackingTouch(SeekBar seekBar) {   }   @Override   public void onStopTrackingTouch(SeekBar seekBar) {    //獲取拖動結束后的位置    int progress=seekBar.getProgress();    //跳轉到某個位置播放    mediaPlayer.seekTo(progress);   }  }); } public void isPlayOrPause(View view){  ImageButton imageButton= (ImageButton) view;  if(mediaPlayer==null){//代表第一次播放音樂   mediaPlayer = MediaPlayer.create(this, R.raw.Loser);   mediaPlayer.start();   //把圖標改成暫停的圖標(這里的暫停圖標就是播放時的狀態)   imageButton.setImageResource(android.R.drawable.ic_media_pause);   //獲取音樂的總時長   int duration=mediaPlayer.getDuration();   //設置進度條的最大值為音樂的總時長   seekBar.setMax(duration);   new MyThread();  }else if(mediaPlayer.isPlaying()){//正在播放音樂   mediaPlayer.pause();   //把圖標改成播放的圖標(暫停狀態)   imageButton.setImageResource(android.R.drawable.ic_media_play);  }else{   mediaPlayer.start();   imageButton.setImageResource(android.R.drawable.ic_media_pause);  } } class MyThread extends Thread{  @Override  public void run() {   super.run();   while(seekBar.getProgress()<seekBar.getMax()){    //獲取當前音樂播放的位置    int currentPosition=mediaPlayer.getCurrentPosition();    //讓進度條跟著時間走    seekBar.setProgress(currentPosition);   }  } }}

2.  播放內存卡里的音樂,這一部分代碼就是替換前面的mediaPlayer = MediaPlayer.create(this, R.raw.Loser);

  //播放內存卡內的音頻   mediaPlayer=new MediaPlayer();   //設置類型   mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);   //設置音源   try {    mediaPlayer.setDataSource(this, Uri.parse("file://mnt/sdcard/Music/f.mp3"));    //必須在播放前加載音頻文件    mediaPlayer.prepare();   } catch (IOException e) {    e.printStackTrace();   }

3.播放網絡上的音頻文件
首先我們要把網絡環境搭配,

1).找到我們tomcat放的位置,

這里寫圖片描述 

2)然后雙擊startup.bat運行,最小化界面

3)然后打開cmd命令,輸入config找到我們本機的IPv4地址

這里寫圖片描述 

4)然后在瀏覽器上試一下,是否能夠打開tomcat的主頁

5)在把自己的mp3文件放到tomcat的ROOT目錄下

這里寫圖片描述 

6)然后在自己的模擬器上,用瀏覽器同樣的去打開,用自己本機的IPv4地址去打開tomcat的主頁,在后面加上音樂的名字,看能不能放出來,如果可以,就代表環境已經搭配好了

7)接下來我們上代碼

把之前播放內存卡上的音頻路徑改成網絡上的

 //播放網絡上的    mediaPlayer.setDataSource(this, Uri.parse("http://192.168.43.164/internet.mp3")); //必須在播放前加載音頻文件(異步準備)    mediaPlayer.prepareAsync();

然后準備完成的監聽

//監聽:準備完成的監聽   mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {    @Override    public void onPrepared(MediaPlayer mp) {     mediaPlayer.start();     //把圖標改成暫停的圖標(這里的暫停圖標就是播放時的狀態)     imageButton.setImageResource(android.R.drawable.ic_media_pause);     //獲取音樂的總時長     int duration=mediaPlayer.getDuration();     //設置進度條的最大值為音樂的總時長     seekBar.setMax(duration);     new MyThread();    }   });

最后,注意一個細節,在Manifasit里面加上聯網的權限

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

最后運行一下,就大功告成了,界面非常的簡單

這里寫圖片描述

如果你們想加上歌詞啊,時間啊,可以繼續完善,但是思路都差不多,今天的分享就到此了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涟水县| 浮梁县| 济南市| 青田县| 武胜县| 拜泉县| 五台县| 贵州省| 涿鹿县| 宝应县| 平定县| 高邮市| 延边| 嘉善县| 政和县| 太和县| 洛扎县| 攀枝花市| 电白县| 余干县| 磴口县| 青神县| 清水河县| 广州市| 永登县| 禹州市| 故城县| 中牟县| 越西县| 安多县| 三穗县| 贡觉县| 南平市| 紫阳县| 忻城县| 郎溪县| 诏安县| 自贡市| 太谷县| 淳安县| 桦南县|