为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

android开发之在线播放器

2012-06-19 10页 doc 127KB 27阅读

用户头像

is_133139

暂无简介

举报
android开发之在线播放器Android开发之在线播放器 By alephsoul 这节将介绍一个在线播放音乐的小程序,简单的介绍一下这个程序完成了什么,本程序通过访问已事先运行起来的一个web网站,通过该网站能看到几首音乐,点击“播放”就可以在本机上播放网络上的音乐,代码简单的很,不过我觉得这个创意还是不错滴~ 为了能做出效果,我把用到的高级技术能裁剪的都裁剪掉了,下面用到的技术是完成这个项目的最小技术集。 1、 android媒体库里MediaPlayer类的使用//核心1 2、 android类库中的WebView的使用 3、 android...
android开发之在线播放器
Android开发之在线播放器 By alephsoul 这节将介绍一个在线播放音乐的小程序,简单的介绍一下这个程序完成了什么,本程序通过访问已事先运行起来的一个web网站,通过该网站能看到几首音乐,点击“播放”就可以在本机上播放网络上的音乐,代码简单的很,不过我觉得这个创意还是不错滴~ 为了能做出效果,我把用到的高级技术能裁剪的都裁剪掉了,下面用到的技术是完成这个项目的最小技术集。 1、 android媒体库里MediaPlayer类的使用//核心1 2、 android类库中的WebView的使用 3、 android中java和javascript的交互//核心2 4、 一丁点Web开发的知识(html,javascript) 下面是我做出来的几张效果图 ·Tomcat服务器中应用程序的目录结构 ·Chrome浏览器中浏览效果图 ·android程序结构图 ·Android中浏览效果图 注:点击上图中的“播放”就可以听到音乐了~ 步骤: 1、 在tomcat中新建一个web项目,用作网络音乐网站 ·在/apache-tomcat-6.0.29/webapps/下新建myWebSite目录 ·在myWebSite下新建WEB-INF文件 ·在WEB-INF下新建web.xml文件,内容与一般的web程序中类似 ·在myWebSite下新建index.html文件,并拷如几个mp3文件 ·index.html内容见附录,运行tomcat,访问应用,出现2图则成功 2、 在eclipse上新建一个android项目,用于实现播放网站上的音乐 ·由于涉及到网络,在AndroidManifest.xml文件添加internet访问权限 ·在main.xml文件中添加一个WebView控件 ·编写一个用于播放音乐的类,该类将作为javascript接口 ·在activity中获取WebView并设置属性 ·运行程序…. 核心代码: 1、 播放音乐 if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); } mediaPlayer.setDataSource(url);//url为函数传入的音乐地址 mediaPlayer.prepare(); mediaPlayer.start(); } 2、 WebView属性设置 this.webView = (WebView) this.findViewById(R.id.webView); this.webView.getSettings().setJavaScriptEnabled(true); this.webView.getSettings().setAppCacheEnabled(false); this.webView.getSettings().setSupportZoom(true); this.webView.getSettings().setBuiltInZoomControls(true); this.webView.addJavascriptInterface(new PlayMusicInterface(this), "musicplayer"); this.webView.loadUrl("http://10.16.32.17:8080/myWebSite/index.html"); 3、 Html中的table技巧 原本打算用标签来实现音乐地址的获取,尝试一下不行,于是用到了的title属性,这个属性原本用于鼠标移到上面显示的内容的,正好也可以用于存储音乐地址。 附录 Index.html
歌手 歌曲 播放
班得瑞 迷雾水珠 播放
班得瑞 龙的心 播放
班得瑞 其他 播放
班得瑞 遗失的爱 播放
班得瑞 迷雾水珠 播放
Main.xml AndroidManifest.xml OnlineMusic.java package cn.edu.hfut.activity; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.webkit.WebView; import android.widget.MediaController; import android.widget.VideoView; public class OnlineMusic extends Activity { private WebView webView = null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); getWidget(); } public void getWidget(){ this.webView = (WebView) this.findViewById(R.id.webView); this.webView.getSettings().setJavaScriptEnabled(true); this.webView.getSettings().setAppCacheEnabled(false); this.webView.getSettings().setSupportZoom(true); this.webView.getSettings().setBuiltInZoomControls(true); this.webView.addJavascriptInterface(new PlayMusicInterface(this), "musicplayer"); this.webView.loadUrl("http://10.16.32.17:8080/myWebSite/index.html"); } } PlayMusicInterface.java package cn.edu.hfut.activity; import java.io.IOException; import android.content.Context; import android.media.MediaPlayer; import android.net.Uri; import android.webkit.URLUtil; import android.widget.Toast; import android.widget.VideoView; public class PlayMusicInterface { private Context context = null; private MediaPlayer mediaPlayer = null; public PlayMusicInterface( Context context){ this.context = context; mediaPlayer = new MediaPlayer(); } public void stopMusic(){ if(mediaPlayer.isPlaying()){ mediaPlayer.stop(); } } public void playMusic(String url){ if(mediaPlayer.isPlaying()){ mediaPlayer.reset(); } try { mediaPlayer.setDataSource(url); mediaPlayer.prepare(); mediaPlayer.start(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalStateException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 进度条问
有待解决
/
本文档为【android开发之在线播放器】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索