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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

实验6 在应用程序中播放音频和视频

發(fā)布時(shí)間:2025/7/14 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验6 在应用程序中播放音频和视频 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)報(bào)告

課程名稱

基于Android平臺(tái)移動(dòng)互聯(lián)網(wǎng)開(kāi)發(fā)

實(shí)驗(yàn)日期

2016年4月15日

實(shí)驗(yàn)項(xiàng)目名稱

設(shè)計(jì)一個(gè)簡(jiǎn)單登陸界面

實(shí)驗(yàn)地點(diǎn)

S3010

實(shí)驗(yàn)類型

□驗(yàn)證型??? √設(shè)計(jì)型??? □綜合型

學(xué)? 時(shí)

4

一、實(shí)驗(yàn)?zāi)康募耙?/strong>(本實(shí)驗(yàn)所涉及并要求掌握的知識(shí)點(diǎn))

【目的】

實(shí)現(xiàn)在應(yīng)用程序中處理音頻和視頻。

【要求】

1)實(shí)現(xiàn)播放音頻,音頻播放控制;

2)實(shí)現(xiàn)播放視頻,視頻播放控制;

3)使用Service服務(wù)播放項(xiàng)目源文件中的音樂(lè)。

?

二、實(shí)驗(yàn)環(huán)境(本實(shí)驗(yàn)所使用的硬件設(shè)備和相關(guān)軟件)

(1)PC機(jī)

(2)操作系統(tǒng):Windows XP

(3)軟件: Eclipse, JDK1.6,Android SDK,ADT

三、實(shí)驗(yàn)內(nèi)容及步驟

1)新建工程Music

2)修改布局文件activity_main.xml,添加videoview.xml文件

3)修改MainActivity.java,新建 VideoViewActivity.java

4)新建MusicService類,使用Service服務(wù)播放項(xiàng)目源文件中的音樂(lè),實(shí)現(xiàn)后臺(tái)繼續(xù)能播放音頻。

?

四、實(shí)驗(yàn)結(jié)果(本實(shí)驗(yàn)源程序清單及運(yùn)行結(jié)果或?qū)嶒?yàn)結(jié)論、實(shí)驗(yàn)設(shè)計(jì)圖)

代碼:

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(); }}

?

運(yùn)行結(jié)果:(截圖)

?

?

?

五、實(shí)驗(yàn)總結(jié)(對(duì)本實(shí)驗(yàn)結(jié)果進(jìn)行分析,實(shí)驗(yàn)心得體會(huì)及改進(jìn)意見(jiàn))

?? ?經(jīng)過(guò)本次的實(shí)驗(yàn),對(duì)Android應(yīng)用程序的結(jié)構(gòu)有了一定的了解,從中懂得了一些安卓界面結(jié)構(gòu)的編寫方法,但對(duì)于android的具體結(jié)構(gòu)了解還是很表面,日后需要多看,多練編寫android程序。

實(shí)驗(yàn)評(píng)語(yǔ)

?

實(shí)驗(yàn)成績(jī)

?

指導(dǎo)教師簽名:????????????? 年?? 月?? 日

??????

轉(zhuǎn)載于:https://www.cnblogs.com/cckuang/p/5419155.html

總結(jié)

以上是生活随笔為你收集整理的实验6 在应用程序中播放音频和视频的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。