关闭

简单实现网络的音频播放

标签: mediaplayer网络
208人阅读 评论(0) 收藏 举报
分类:

注:这里只是根据自己做的一个应用中用到了音频播放,引用的代码,所以显示的代码不完整

对于音视屏的开发,可以参照Geogle官方API文档,下面是开发的流程图:


效果如下:


好了,下面贴代码


private void playMusic() {
		//播放前判断播放的状态
		if (mMediaPlayer == null) {
			mMediaPlayer = new MediaPlayer();
			mMediaPlayer.reset();
			mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
			String path = "http://192.168.33.44:8080/zbc.mp3";
			try {
				mMediaPlayer.setDataSource(path);
			} catch (IllegalArgumentException | SecurityException | IllegalStateException | IOException e) {
				
				e.printStackTrace();
			}
			
			mMediaPlayer.prepareAsync();
			PrePareListener prePareListener = new PrePareListener();
			mMediaPlayer.setOnPreparedListener(prePareListener);
			
		}
		
		if (isPlaying) {
			//正在播放时暂停播放
			mMediaPlayer.pause();
			isPlaying = false;
		}else {
			//处于未播放状态时
			//1.播放已结束或尚未开始
			mMediaPlayer.start();
			isPlaying = true;
			//2.处于暂停状态
		}
		
	}
	
	class CompletionListener implements OnCompletionListener{

		/**
		 * 音乐播放完毕的回调
		 */
		@Override
		public void onCompletion(MediaPlayer mp) {
			// 播放完成后,停止播放
			mMediaPlayer.stop();
			isPlaying = false;
			mIv_play.setImageResource(R.drawable.a_bofang);
			mMediaPlayer.release();
			mMediaPlayer = null;
		
		}
		
	}
	
	
	class PrePareListener implements OnPreparedListener{

		/**
		 * 开始准备播放音乐的回调
		 */
		@Override
		public void onPrepared(MediaPlayer mp) {
			mMediaPlayer.start();
			isPlaying = true;
			CompletionListener completListener = new CompletionListener();
			mMediaPlayer.setOnCompletionListener(completListener );
		}
		
	}

最后,最好在activity或Fragment对应的生命周期方法中,去调用stop()和start(),以便实现多种功能需求

1
0
查看评论

Android音乐播放器的简单实现

1、MusicService 音乐播放器的Service,里面获取音乐文件,封装了MediaPlayer,实现播放上一首和下一首,播放,停止,封装成方法供Activity调用,获取音乐的当前进度,总长度、名字,通过发送广播的方式发给Activity package com.example.mus...
  • jyxmust
  • jyxmust
  • 2017-03-02 22:57
  • 432

BP神经网络的简单实现

很久之前就看到了一片国外的博文,大神用了11行python1代码就实现了一个最简单的神经网络。他的最精简的代码如下: X = np.array([ [0,0,1],[0,1,1],[1,0,1],[1,1,1] ]) y = np.array([[0,1,1,0]]).T syn0 = 2*np.r...
  • freedom098
  • freedom098
  • 2016-04-15 19:55
  • 633

Android提高之MediaPlayer播放网络音频的实现方法

实现MediaPlayer在线播放音频的功能,由于在线视频播放比在线音频播放复杂,因此先介绍在线音频播放的实现,这样可以帮助大家逐步深入了解MediaPlayer的在线播放功能。 先来看看本文程序运行的结果如下图所示: main.xml的源码如下: xml version="1.0&...
  • u010015108
  • u010015108
  • 2016-10-13 09:01
  • 1324

iOS音频播放之AudioQueue(三):网络流媒体的播放

从AudioStreamer讲起 为什么要使用CFNetwork CFNetwork示例下载图片 代码示例 代码说明 代码演示 流媒体的播放 CFNetwork的预处理 Seek操作 播放完成 在前两篇中讲了使用AudioQueue流式播放本地文件的功能,本篇就来讲讲网络流媒体的播放。其实已经有...
  • cairo123
  • cairo123
  • 2016-12-30 13:50
  • 1148

网络协议分析与实现简单概念

网络协议分析与实现通信协议是指双方实体完成通信或服务所必须遵循的规则和约定。协议的基本内容语义:协议所要表达的核心含义; 语法:语义能够正确表达的规范; 时序:语义被正确表达的时间点和先后顺序。OSI七层模型:应用层:用户接口; 表示层:数据表示、加解密; 会话层:不同应用之间的数据隔离; ...
  • wwei25
  • wwei25
  • 2017-02-21 20:04
  • 341

关于iOS网络音频播放的一些详解(使用AVPlayer播放网络音频)

在日常的iOS开发中,我们通常会遇到媒体播放的问题,XCode中已经为我们提供了功能非常强大的AVFoundation框架和MediaPlayer框架.其中AVFoundation框架中的AVAudioPlayer主要用于播放本地音频,也可以播放网络音频,但是需要先将网络数据转化为data数据,用户...
  • luckypeng
  • luckypeng
  • 2016-04-05 22:30
  • 6480

Vitamio之播放音频

今天研究了下Android下用Vitamio来播放音频,其间遇到些问题,在此进行总结。 用Vitamio实现音频播放,其步骤如下: 1、下载Vitamio源码,并将其生成一个库文件; 2、在播放音频Android工程中导入步骤1生成的库文件; 3、在AndroidManifest.xml文件中引入以...
  • zhoushouchang
  • zhoushouchang
  • 2015-05-06 16:38
  • 1599

android 缓存网络音频播放

package com.smartbabybottles_kaiser.helper; import java.io.File; import java.io.IOException; import java.io.InputStream; import java.io.Random...
  • ka3811
  • ka3811
  • 2015-08-17 14:33
  • 1893

iOS开发之 AVAudioPlayer音频播放

1、相关知识点 播放音频可以使用框架 AVFoundation.framework 音效的播放 //1.获得音效文件的路径 NSURL*url= [[NSBundlemainBundle] URLForResource:@"m_03.wav"withExtensio...
  • sunnyboy9
  • sunnyboy9
  • 2016-04-30 14:35
  • 2987

iOS开发————几种音频播放方式

这篇同样是编者对自己学习的小总结以及对iOS初级开发者的小福利,大神莫吐槽... 首先来谈谈AVFoundation框架:它是iOS中用于处理基于时间的媒体数据的高级框架,也是基于Core Audio,Core Media,Core Video等框架构建的,充分利用了多核硬件的优势并大量使用了Bl...
  • Lerryteng
  • Lerryteng
  • 2016-04-21 20:05
  • 6504
    个人资料
    • 访问:7343次
    • 积分:275
    • 等级:
    • 排名:千里之外
    • 原创:18篇
    • 转载:1篇
    • 译文:1篇
    • 评论:0条
    文章分类