实验报告
课程名称 |
基于Android平台移动互联网开发 |
实验日期 |
2016年4月15日 |
||
实验项目名称 |
在应用程序中播放音频和视频 |
实验地点 |
S30010 |
||
实验类型 |
□验证型 √设计型 □综合型 |
学 时 |
|
||
一、实验目的及要求(本实验所涉及并要求掌握的知识点) |
|||||
1、实现在应用程序中处理音频和视频。 2、实现播放音频,音频播放控制;实现播放视频,视频播放控制; 3、使用Service服务播放项目源文件中的音乐。 |
|||||
二、实验环境(本实验所使用的硬件设备和相关软件) |
|||||
(1)PC机 (2)操作系统:Windows XP (3)软件: Eclipse, JDK1.6,Android SDK,ADT |
|||||
三、实验内容及步骤 |
|||||
1、在Sudoku项目中修改布局文件activity_main.xml,添加必要的控件。在项目中新建raw文件夹,把.mp3类型的音频文件复制到raw文件夹下。通过DDMS导入到SD卡。 2、定义MediaPlayer对象,findViewById()方法为各种按钮建立关联。 3、为各种按钮添加事件监听 |
|||||
四、实验结果(本实验源程序清单及运行结果或实验结论、实验设计图) |
MainActivity
package com.example.mediaplayer; import java.io.File; import java.io.IOException; import android.media.MediaPlayer; import android.net.Uri; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.MediaController; import android.widget.TextView; import android.widget.Toast; import android.widget.VideoView; public class MainActivity extends Activity { Button source,local,network,stop,video,exit; private MediaPlayer mediaplayer=new MediaPlayer(); private File file; private TextView tv; private String uri="http://y.qq.com/#type=song&mid=003e0OzZ0wFBRX&tpl=yqq_song_detail"; private VideoView videoView; MediaController mc; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ma); tv=(TextView)findViewById(R.id.textView1); source=(Button)findViewById(R.id.button1); local=(Button)findViewById(R.id.button2); network=(Button)findViewById(R.id.button3); stop=(Button)findViewById(R.id.button4); video=(Button)findViewById(R.id.button5); videoView=(VideoView)findViewById(R.id.videoView1); File file=new File("/sdcard/bluevird.mp4"); mc=new MediaController(MainActivity.this); source.setOnClickListener(new OnClickListener(){ public void onClick(View arg0) { // TODO Auto-generated method stub mediaplayer=MediaPlayer.create(MainActivity.this, R.raw.what); mediaplayer.start(); Toast.makeText(MainActivity.this,"playing the music",Toast.LENGTH_SHORT).show(); } }); stop.setOnClickListener(new OnClickListener(){ public void onClick(View arg0) { // TODO Auto-generated method stub if(mediaplayer.isPlaying()){ mediaplayer.stop(); Toast.makeText(MainActivity.this,"stop",Toast.LENGTH_SHORT).show(); } } }); local.setOnClickListener(new OnClickListener() { @SuppressLint("SdCardPath") @Override public void onClick(View arg0) { // TODO Auto-generated method stub try { mediaplayer.reset(); mediaplayer.setDataSource("/sdcard/Louis Armstrong - What A Wonderful World.mp3"); mediaplayer.prepare(); mediaplayer.start(); Toast.makeText(MainActivity.this,"playing the sdcard music",Toast.LENGTH_SHORT).show(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); network.setOnClickListener(new OnClickListener(){ @Override public void onClick(View arg0) { // TODO Auto-generated method stub mediaplayer.reset(); try{ mediaplayer.setDataSource(uri); }catch(IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } Toast.makeText(MainActivity.this,"network music",Toast.LENGTH_SHORT).show(); Intent intent=new Intent(Intent.ACTION_VIEW,Uri.parse(uri)); startActivity(intent); } }); video.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub File file=new File("/sdcard/ccc.mp4"); videoView.setVideoPath(file.getAbsolutePath()); videoView.setMediaController(mc); try{ videoView.start(); } catch (Exception e){ e.printStackTrace(); } Toast.makeText(MainActivity.this,"playing the video",Toast.LENGTH_SHORT).show(); } }); } @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; } }
MA
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="30px" android:background="@drawable/jx" android:orientation="vertical" > <ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="shipinyinyuebofang" android:textSize="35px" /> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" > <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="本地音乐" /> <Button android:id="@+id/button1" android:layout_width="107dp" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_weight="0.32" android:text="源文件音乐" android:textSize="18sp" /> </LinearLayout> <Button android:id="@+id/button4" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button5" android:layout_below="@+id/button3" android:text="停止" /> <Button android:id="@+id/button5" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@+id/button4" android:text="视频" /> <VideoView android:id="@+id/videoView1" android:layout_width="match_parent" android:layout_height="212dp" android:layout_alignParentRight="true" android:layout_below="@+id/button5" /> <Button android:id="@+id/button3" android:layout_width="0px" android:layout_height="0px" /> </LinearLayout> </ScrollView> </LinearLayout>
运行结果:
五、实验总结(对本实验结果进行分析,实验心得体会及改进意见) |
|||||
在制作视频播放的过程中,能够听到视频声音以及看到视频播放的滚动条,但是无法正常观看视频的界面。 |