实验6 在应用程序中播放音频和视频
實驗報告
| 課程名稱 | 基于Android平臺移動互聯網開發 | 實驗日期 | 2016年4月15日 | ||
| 實驗項目名稱 | 設計一個簡單登陸界面 | 實驗地點 | S3010 | ||
| 實驗類型 | □驗證型??? √設計型??? □綜合型 | 學? 時 | 4 | ||
| 一、實驗目的及要求(本實驗所涉及并要求掌握的知識點) | |||||
| 【目的】 實現在應用程序中處理音頻和視頻。 【要求】 1)實現播放音頻,音頻播放控制; 2)實現播放視頻,視頻播放控制; 3)使用Service服務播放項目源文件中的音樂。 ? | |||||
| 二、實驗環境(本實驗所使用的硬件設備和相關軟件) | |||||
| (1)PC機 (2)操作系統:Windows XP (3)軟件: Eclipse, JDK1.6,Android SDK,ADT | |||||
| 三、實驗內容及步驟 | |||||
| 1)新建工程Music 2)修改布局文件activity_main.xml,添加videoview.xml文件 3)修改MainActivity.java,新建 VideoViewActivity.java 4)新建MusicService類,使用Service服務播放項目源文件中的音樂,實現后臺繼續能播放音頻。 ? | |||||
| 四、實驗結果(本實驗源程序清單及運行結果或實驗結論、實驗設計圖) | |||||
| 代碼: HelpActivity package com.example.sukodu;import java.io.File; import java.io.IOException;import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Activity; import android.content.Intent; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Environment; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.MediaController; import android.widget.Toast; import android.widget.VideoView;public class HelpActivity extends Activity {Button btnMusics, btnPause, btnStop, btnLocalmc, btnsermcst, btnsermcsp,btnvedio;MediaPlayer mplayer = new MediaPlayer();VideoView vediov;Intent itse = new Intent();boolean start = true;File file;@SuppressLint({ "NewApi", "CutPasteId" })public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.help);ActionBar abar = getActionBar();btnMusics = (Button) findViewById(R.id.help_sourcemusic);btnPause = (Button) findViewById(R.id.help_pause);btnsermcst = (Button) findViewById(R.id.help_servermusic);btnsermcsp = (Button) findViewById(R.id.help_serverstop);btnStop = (Button) findViewById(R.id.help_stop);btnLocalmc = (Button) findViewById(R.id.help_localemusic);vediov=(VideoView) findViewById(R.id.helpVideo);btnvedio=(Button) findViewById(R.id.help_vedio);abar.setDisplayShowHomeEnabled(true);abar.setDisplayHomeAsUpEnabled(true);btnvedio.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubMediaController mc=new MediaController(HelpActivity.this);File file=new File(Environment.getExternalStorageDirectory().getPath()+"/aabb.mp4");vediov.setVideoPath(file.getAbsolutePath());vediov.setMediaController(mc);vediov.requestFocus();vediov.start();}});btnPause.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif (mplayer.isPlaying()) {mplayer.pause();}}});btnStop.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubif (mplayer.isPlaying()) {mplayer.stop();start = true;}}});btnLocalmc.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubfile = new File(Environment.getExternalStorageDirectory().getPath()+"/nanshannan.mp3");try {mplayer.reset();mplayer.setDataSource(file.getAbsolutePath());Toast.makeText(HelpActivity.this, file.getAbsolutePath(),Toast.LENGTH_LONG).show();mplayer.prepare();mplayer.start();} 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();}}});btnMusics.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubif (mplayer == null || start) {mplayer.reset();mplayer = new MediaPlayer();mplayer = MediaPlayer.create(HelpActivity.this,R.raw.nanshannan);mplayer.start();start = false;} else if (mplayer != null) {mplayer.start();}}});btnsermcst.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubitse.setClass(HelpActivity.this, MyService.class);startService(itse);}});btnsermcsp.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub stopService(itse);}});}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stub getMenuInflater().inflate(R.menu.actionbar, menu);return super.onCreateOptionsMenu(menu);}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubIntent intent = getIntent();switch (item.getItemId()) {case android.R.id.home: {finish();break;}case R.id.about: {intent.setClass(this, SecondActivity.class);startActivity(intent);finish();break;}case R.id.newgame: {intent.setClass(this, GamesActivity.class);startActivity(intent);finish();break;}default: {break;}}return super.onOptionsItemSelected(item);}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubif (mplayer.isPlaying()) {mplayer.stop();}if(vediov.isPlaying()){vediov.stopPlayback();}super.onDestroy();}}MyService package com.example.sukodu;import android.app.Service; import android.content.Intent; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.os.IBinder;public class MyService extends Service{MediaPlayer mplayer;boolean start = true;@Overridepublic IBinder onBind(Intent arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic void onCreate() {// TODO Auto-generated method stub mplayer = new MediaPlayer();mplayer = MediaPlayer.create(this,R.raw.nanshannan);mplayer.setOnCompletionListener(new OnCompletionListener() {@Overridepublic void onCompletion(MediaPlayer mp) {// TODO Auto-generated method stub }});super.onCreate();} @Override public int onStartCommand(Intent intent, int flags, int startId) {// TODO Auto-generated method stub mplayer.start();return super.onStartCommand(intent, flags, startId); }public void onDestroy() {// TODO Auto-generated method stub mplayer.stop();super.onDestroy(); }}? 運行結果:(截圖) ? ? ? | |||||
| 五、實驗總結(對本實驗結果進行分析,實驗心得體會及改進意見) | |||||
| ?? ?經過本次的實驗,對Android應用程序的結構有了一定的了解,從中懂得了一些安卓界面結構的編寫方法,但對于android的具體結構了解還是很表面,日后需要多看,多練編寫android程序。 | |||||
| 實驗評語 | ? | ||||
| 實驗成績 | ? | 指導教師簽名:????????????? 年?? 月?? 日 | |||
| ? | ? | ? | ? | ? | ? |
轉載于:https://www.cnblogs.com/cckuang/p/5419155.html
總結
以上是生活随笔為你收集整理的实验6 在应用程序中播放音频和视频的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在单链表的第i个位置后插入一个节点(阿里
- 下一篇: 最大流部分