实验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 在应用程序中播放音频和视频相关推荐
- 实验6 在应用程序中播放音频和视频
课程名称 基于Android平台移动互联网开发 实验日期 2016年4月15日 实验项目名称 数独游戏界面设计 实验地点 S3010 实验类型 □验证型 √设计型 □综合型 学 时 一. ...
- java在程序中加入音频_在任意Java程序中播放音频
音频文件有多种格式.Java程序能够播放WAV,AIFF,MIDI,AU和RMF格式的声音文件. 要在Java中播放音频文件,应该先为声音文件创建一个音频剪辑对象(audio clip object) ...
- Xamarin的播放音频和视频的媒体管理插件
媒体应用程序比其他应用程序更受益于与本地平台一起工作.有些事情,比如处理音频焦点的中断.网络连接以及通知和其他回放控件之间的通信,这是一件复杂的事情. 为使Xamarin开发访问这些本地平台的功能,我 ...
- Android学习-运用手机多媒体-通知使用技巧、调用摄像头拍照、从相册中选取照片、播放音频和视频文件(MediaPlayer、VideoView)
android提供了一系列的API,使得我们可以在程序中调用很多的多媒体资源,从而编写出更加丰富多彩的应用程序. 使用通知 通知(Notification)是Android系统中比较有特色的一个功能, ...
- 如何实现在直播中播放音频文件
在我们看直播的时候,经常会在直播过程中听到有掌声.口哨声.背景音乐等音效,那么这些声音特效是如何实现的呢大家有没有想过?anyRTC下面就为大家简单介绍一下如何实现在直播过程中播放音频文件. 功能描述 ...
- 微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签
微信小程序中播放海康萤石云HLS '.m3u8'视频 video标签 前言 萤石云开放平台 微信开发者工具 前言 因为项目需要在微信小程序上展示实时视频流信息,以下内容是我将萤石云平台官方文档和自己实 ...
- 如何在c语言中播放音频
要在 C 语言中播放音频,你可以使用一些库函数,例如 OpenAL,SDL 或者 PortAudio. 这些库都可以在 C 语言中使用,它们提供了与播放音频相关的函数. 例如,使用 OpenAL 库可 ...
- 实验四 获取C程序中一个逻辑地址对应的物理地址
实验四 获取C程序中一个逻辑地址对应的物理地址 目录 实验四 获取C程序中一个逻辑地址对应的物理地址 实验环境 一.实验目的 二.实验内容 三.实验步骤 四.实验总结 实验环境 操作系统版本:ubun ...
- android播放mp3方法,Android之MediaPlayer播放音频与视频
本节带来的是Android多媒体中的--MediaPlayer,我们可以通过这个API来播放音频和视频 该类是Androd多媒体框架中的一个重要组件,通过该类,我们可以以最小的步骤来获取,解码 和播放 ...
最新文章
- 笨办法学C 练习22:栈、作用域和全局
- [Swift]LeetCode1013. 将数组分成和相等的三个部分 | Partition Array Into Three Parts With Equal Sum...
- 论文浅尝 | 面向跨语言实体对齐的知识图谱与实体描述协同嵌入方法
- jar包上传maven私服出错Cannot deploy artifact from the local repository
- 【实例】原生 js 实现全屏滚动效果
- Mac实用软件及功能总结
- 国标GB28181协议国标平台EasyGBS客户端作为上级平台如何跟下级海康8700平台对接?
- MySQL命令行登录数据库
- java itex 打印pdf_【收藏】java使用ITEXT打印PDF
- flutter 国际化(组件英文转中文)
- (八十三)第三方类库不支持64位处理器的解决方法
- Body estimation 代码复现之:结合 keras 对 Stack Hourglass 网络架构分析(全网最详细分析)
- 用数字万用表精确测量小电阻
- window系统设置系统变量
- ehviewer_ehviewer1.7.7
- 中国银联mPOS通用技术安全分析和规范解读
- 【日常学习】【二分】【单调队列优化线性DP】codevs3342 绿色通道题解
- UOS下的任务管理器 ---- 【系统监视器】
- Android 滑动拼图验证码控件
- 【模拟】智能T9英文输入法