android 多媒体之播放网络音乐demo
android 多媒体之播放网络音乐demo
需要用到Tomcat服务器
用到的类有Mediapalyer,Uri等
代码如下:
package com.example.android_25text_2;import android.media.AudioManager;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.SeekBar;import java.io.IOException;public class MainActivity extends AppCompatActivity {private MediaPlayer mediaPlayer;private SeekBar sb_main_bar;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sb_main_bar = (SeekBar) findViewById(R.id.sb_main_bar);//给进度条设置滑动监听sb_main_bar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {@Overridepublic void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {}@Overridepublic void onStartTrackingTouch(SeekBar seekBar) {}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) {//获取当前进度条的位置int currentPosition=seekBar.getProgress();//跳转到某个位置进行播放mediaPlayer.seekTo(currentPosition);}});}public void playOrPause(View view){final ImageButton imageButton= (ImageButton) view;//实例化MediaPlayerif(mediaPlayer==null){//mediaPlayer = MediaPlayer.create(this, R.raw.s8);if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){String sdPath=Environment.getExternalStorageDirectory().getAbsolutePath();mediaPlayer=new MediaPlayer();//设置音频流的类型mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);//设置音源try {//mediaPlayer.setDataSource(this, Uri.parse("file://"+sdPath+"/s1.mp3"));mediaPlayer.setDataSource(this, Uri.parse("http://192.168.1.101:8080/s8.mp3"));mediaPlayer.prepareAsync();} catch (IOException e) {e.printStackTrace();}//设置准备监听mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {@Overridepublic void onPrepared(MediaPlayer mp) {mediaPlayer.start();//暂停图标imageButton.setImageResource(android.R.drawable.ic_media_pause);//获取音乐的播放时间int time=mediaPlayer.getDuration();//设置进度条的最大值 为 音乐的播放时间sb_main_bar.setMax(time);new MyThread().start();}});}}else if(mediaPlayer.isPlaying()){mediaPlayer.pause();//播放图标imageButton.setImageResource(android.R.drawable.ic_media_play);}else{mediaPlayer.start();//暂停图标imageButton.setImageResource(android.R.drawable.ic_media_pause);}}class MyThread extends Thread{@Overridepublic void run() {super.run();while(sb_main_bar.getProgress()<sb_main_bar.getMax()){//获取音乐当前的播放位置int currentPosition=mediaPlayer.getCurrentPosition();sb_main_bar.setProgress(currentPosition);}}}}
还需要配置权限:
Internet
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
android 多媒体之播放网络音乐demo相关推荐
- android 随机播放代码,Android | 一个随机播放网络音乐的小 Demo
前言 是这样,前几天接触到一个可以随机获取网络音乐及其热评的 API(关于该API:github.com/isecret/yun- ),于是乎就想着要做一个小 demo 来练练手吧! 目前的效果就是上 ...
- android 使用mediaplayer播放网络音乐
关于mediaplayer 的介绍 MediaPlayer是Android自带的一个多媒体播放类,可以播放音视频流或者本地音视频文件.MediaPlayer方法的调用需要在一定的状态下,下图是一个Me ...
- ios html背景音乐,iOS音频篇:使用AVPlayer播放网络音乐
作者:明仔Su(简书) 引言 假如你现在打算做一个类似百度音乐.豆瓣电台的在线音乐类APP,你会怎样做? 首先了解一下音频播放的实现级别:离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括 ...
- iOS音频篇:使用AVPlayer播放网络音乐
引言 假如你现在打算做一个类似百度音乐.豆瓣电台的在线音乐类APP,你会怎样做? 首先了解一下音频播放的实现级别: (1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音频 ...
- ios+html+音频播放,iOS音频篇:使用AVPlayer播放网络音乐
2018-11-13更新:已更新工程配置和修改部分代码,Xcode9能直接运行此项目了.但由于项目中使用的豆瓣API已经停止支持,所以项目已不能正常演示,是否会继续更新就看缘分嘞 _... 引言 假如 ...
- Android之MediaPlayer播放网络视频的实现方法
前段时间忙于工作,现在有时间来分享一下: 这篇文章主要介绍了Android的MediaPlayer播放网络视频的实现方法,是一个非常实用的功能,需要的朋友可以参考下 前面讲解了MediaPlayer播 ...
- iOS 音频篇:使用 AVPlayer 播放网络音乐
1.引言 假如你现在打算做一个类似百度音乐.豆瓣电台的在线音乐类APP,你会怎样做? 首先了解一下音频播放的实现级别:(1) 离线播放:这里并不是指应用不联网,而是指播放本地音频文件,包括先下完完成音 ...
- Android使用VideoView播放网络视频
Android支持播放网络上的视频.在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP.这 两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP ...
- Android 使用MediaPlayer播放网络音频
一.前言 MediaPlayer是Android自带的一个多媒体播放类,可以播放音视频流或者本地音视频文件.MediaPlayer方法的调用需要在一定的状态下,下图是一个MediaPlayer对象被支 ...
- Android VideoView无法播放网络视频
今天学习Android播放视频和音频,其中在练习播放视频的时候无法播放网络视频,网络视频是别人发布在网上的,但是把视频放在本地是可以的,最后推测是没有开放网络的访问权限的问题,果然开放了之后就能正常访 ...
最新文章
- 昼猫笔记 JavaScript -- 异步执行 | 定时器真的定时执行?
- python转义是什么意思_Python什么情况下会输出转义符
- 漫谈MySQL权限安全,跳槽薪资翻倍
- mysql 5.6 command line client闪退_MySQL 5.6 Command Line Client 点开闪退解决方法
- 单位人勾心斗角,我是老实人该怎么办?
- [HDU5739]Fantasia(圆方树DP)
- javascript开发HTML5游戏--斗地主(单机模式part1)
- 【python|opencv】cv2.imread返回None,无法正确读取图片
- datetime与timestamp的区别
- 产品经理vs项目经理?四类PM区别都在这里啦
- 使用心得:[屏幕录制专家]与[Macromedia Captivate]的比拼
- 10-Transformation
- SAP idoc功能够强大: 采购订单下达自动触发销售订单创建
- 论文笔记:Object Detection in 20 Years: A Surve(目标检测20年研究综述)
- 10大最具影响力人物
- 并查集——加边的无向图
- Java导出数据到Word模板中
- 制作 JS 广告的简易入门(二)利用 CSS3 技术制作广告
- Android课程设计之视频播放器
- wsl2显示无NVIDIA显卡驱动
热门文章
- 史上最全的工控类软件链接 快收藏备用吧
- 【selenium 模拟拼图】滑动拼图验证码10分钟教程
- 2021 最新版《神经网络和深度学习》中文版.pdf
- NASA 用哈勃望远镜定格你的星空
- 电商平台的数据库设计
- java毕业设计万科集团社区管理系统mybatis+源码+调试部署+系统+数据库+lw
- Win10卸载新版 Edge (基于Chromium)
- 英语口语之最全面最标准的数学符号、公式的英语读法
- lottie android 卡顿,lottie动画设计_免异常总结
- 收集:Programer Jokes