日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中的音乐播放

發(fā)布時間:2025/3/15 Android 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中的音乐播放 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

????? 在Android平臺下,要實現(xiàn)聲音的播放是十分容易實現(xiàn)的,只要生成一個MediaPlayer對象,并調用它的相關方法,就能改變對聲音播放進行控制。MediaPlayer對象有一下各種狀態(tài):

?

?

?

???? 熟悉了MediaPlayer對象的各種狀態(tài)后以及轉換條件,就能很好的控制媒體播放。

?

?? 例如:播放res/raw文件夾中的歌曲十分簡單,只需寫如下代碼:

?

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1); mp.start(); ? 也可以指定音樂文件的位置來進行播放,例如,在sdcard根目錄下有有一首歌曲:test.mp3。則可以這樣播放: MediaPlayer mp = new MediaPlayer(); String song = Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "test.mp3"; try { mp.setDataSource(song); mp.prepare(); mp.start(); } catch (Exception e) { e.printStackTrace(); }

????? 建議在播放音樂的時候把MediaPlayer放在Service中,因為如果放在Activity中會使得界面特別卡。而且音樂不能放到后臺里播放,一旦退出Activity,音樂就會暫停播放。

????? 可以在Activity中布局相關的界面,例如按鈕等。然后通過這個Activitiy來啟動這個Service。要通過UI與Service交互,可以通過Intent對象傳遞消息。更復雜一些,要實現(xiàn)Service向Activity發(fā)送消息,并利用這些消息來更新UI,這可以用廣播機制,例如告訴Activity是否正在播放,播放進度,當前播放歌曲條目等信息。

?

?例如以下實例代碼:

? /*Activity中*/

@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnPlay = (Button)findViewById(R.id.btnPlay); btnPause = (Button)findViewById(R.id.btnPause); btnPlay.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,SoundService.class); intent.putExtra("playing", true); startService(intent); } }); btnPause.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this,SoundService.class); intent.putExtra("playing", false); startService(intent); } }); } }

?

播放音樂的Service代碼:

package com.yzy.sound; ? import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.os.IBinder; ? public class SoundService extends Service { private MediaPlayer mp; ? @Override public void onCreate() { super.onCreate(); mp = MediaPlayer.create(this, R.raw.test); } ? @Override public void onDestroy() { super.onDestroy(); mp.release(); stopSelf(); } ? @Override public int onStartCommand(Intent intent, int flags, int startId) { boolean playing = intent.getBooleanExtra("playing", false); if (playing) { mp.start(); } else { mp.pause(); } return super.onStartCommand(intent, flags, startId); } ? @Override public IBinder onBind(Intent intent) { return null; } ? }

總結

以上是生活随笔為你收集整理的Android中的音乐播放的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。