課程名稱java |
基於Android平臺移動互聯網開發android |
實驗日期網絡 |
2016-4-15app |
實驗項目名稱ide |
在應用程序中播放音頻和視頻函數 |
實驗地點測試 |
S3009this |
實驗類型spa |
□驗證型 √設計型 □綜合型操作系統 |
學 時 |
2 |
1、實驗目的及要求(本實驗所涉及並要求掌握的知識點) |
|||
1) 實現播放音頻,音頻播放控制; 2) 實現播放視頻,視頻播放控制; 3) 使用Service服務播放項目源文件中的音樂。
|
|||
2、實驗環境(本實驗所使用的硬件設備和相關軟件) |
|||
(1)PC機 (2)操做系統:Windows XP (3)軟件: Eclipse, JDK1.6,Android SDK,ADT |
|||
3、實驗內容及步驟 |
|||
完善Activity類 /*** * 這個類主要用來測試調用Andriod.media.MediaPlayer包裏面的函數實現音樂播放的功能, * 分別播放了工程中資源文件中的音樂文件、本地文件系統中的文件,以及網絡上的音樂; * 視頻播放功能,使用了VideoView控件; * 代碼中指定了本地文件系統中音頻和視頻文件的路徑,在測試本程序前請按照代碼中的路徑和音頻、視頻文件的名稱在手機中添加文件; 新建Service類,使用Service服務播放項目源文件中的音樂,實現後臺繼續能播放音頻 |
package com.example.mediaplayer; import java.io.IOException; import android.media.MediaPlayer; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.VideoView; public class MainActivity extends Activity { private Button btn1,btn2,btn3,btn4,btn5,btn6; private MediaPlayer mplayer=new MediaPlayer(); private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button) findViewById(R.id.button1); btn2=(Button) findViewById(R.id.button2); btn3=(Button) findViewById(R.id.button3); btn4=(Button) findViewById(R.id.button4); btn5=(Button) findViewById(R.id.button5); btn6=(Button) findViewById(R.id.button6); text=(TextView) findViewById(R.id.textView2); final Intent intent=new Intent(); btn1.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub mplayer=MediaPlayer.create(MainActivity.this,R.raw.leon); mplayer.start(); text.setText("正在播放源文件中的音樂!"); } }); btn2.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub mplayer.reset(); try { mplayer.setDataSource("/sdcard/today.mp3"); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { mplayer.prepare(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } mplayer.start(); text.setText("正在播放sd卡中的音樂!"); } }); btn3.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub text.setText("正在播放網絡中的音樂!"); } }); btn4.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub // mplayer.pause(); mplayer.stop(); text.setText("中止播放音樂!"); } }); btn5.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub mplayer.stop(); text.setText("正在播放視頻!"); } }); btn6.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { // TODO Auto-generated method stub System.exit(0); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
5、實驗總結(對本實驗結果進行分析,實驗心得體會及改進意見) |
完成此次實驗的過程當中老是遇到一些小問題,致使不能順利準時的完成實驗,但是經過此次的實驗也能夠了解到本身的不足。 |