我有listview,mediaplayer和mediacontroller . 当我在listview中触摸列表时,我想让媒体播放器从网址播放流音乐 .

我的问题是媒体播放器只播放一首歌 . 当我在播放第一个列表音频时触摸第二个列表时,它不播放第二个列表音频 .

但我不知道原因,媒体播放器在播放第一个音频时播放第二个音频,当mediacontroller隐藏时 .

我希望媒体播放器在媒体播放器显示和播放音频时停止播放另一个音频 .

我尝试了两种模式,但这些结果相同 .

请教我什么是错的,抱歉英语技能不好 .

第一种模式 .

public void onItemClick(AdapterView> parent, View view, int position,

long id) {

switch (position) {

case 0:

try {

mp.reset();

mp.setDataSource(url);

mp.prepare();

} catch (IllegalArgumentException e) {

//

e.printStackTrace();

} catch (IllegalStateException e) {

//

e.printStackTrace();

} catch (IOException e) {

//

e.printStackTrace();

}

break;

case 1:

try {

mp.reset();

mp.setDataSource(url2);

mp.prepare();

} catch (IllegalArgumentException e) {

//

e.printStackTrace();

} catch (IllegalStateException e) {

//

e.printStackTrace();

} catch (IOException e) {

//

e.printStackTrace();

}

break;

case 2:

try {

mp.reset();

mp.setDataSource(url3);

mp.prepare();

} catch (IllegalArgumentException e) {

//

e.printStackTrace();

} catch (IllegalStateException e) {

//

e.printStackTrace();

} catch (IOException e) {

//

e.printStackTrace();

}

break;

}

第二种模式 .

public void onItemClick(AdapterView> parent, View view, int position,

long id) {

try {

mp.reset();

mp.setDataSource(url[position]);

mp.prepare();

} catch (IllegalArgumentException e) {

//

e.printStackTrace();

} catch (IllegalStateException e) {

//

e.printStackTrace();

} catch (IOException e) {

//

e.printStackTrace();

}

Preparedlistner .

mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer mediaPlayer) {

handler.post(new Runnable() {

@Override

public void run() {

controller.setEnabled(true);

controller.show(mp.getDuration());

mp.start();

try {

Method m = android.widget.MediaController.class.getDeclaredMethod("updatePausePlay");

m.setAccessible(true);

m.invoke(controller);

} catch (Exception e) {

}

}

});

}

});

}

的onCreate

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_songs);

ItemBean sample1 = new ItemBean();

fishing.setName("sample1");

ItemBean sample2 = new ItemBean();

hana.setName("sample2");

ItemBean sample3 = new ItemBean();

takane.setName("sample3");

List list = new ArrayList();

list.add(sample1);

list.add(sample2);

list.add(sample3);

sampleurl = getResources().getStringArray(R.array.sampleurl);

mp = new MediaPlayer();

controller = new MediaController(this);

controller.setAnchorView(findViewById(R.id.mediaController));

controller.setMediaPlayer(this);

mp.setAudioStreamType(AudioManager.STREAM_MUSIC);

samplelist = (ListView) findViewById(R.id.song_list);

SonglistAdapter_test adapter = new SonglistAdapter_test(getApplicationContext(),list);

samplelist.setAdapter(adapter);

samplelist.setOnItemClickListener(this);

}

java 音频 网络传输_如何流式传输音频?相关推荐

  1. 流式传输 之二----流式传输条件

    在网络上传输音视频(A/V)等多媒体信息主要有下载和流式传输两种.流式传输包括:实时流式传输和顺序流式传输. 流式传输需要两个条件: 缓存 因为互联网进行断续的异步传输是以包传输为基础的.对于一个存储 ...

  2. Java 异步响应servlet_java – 使用jersey流式传输大型响应,异步

    我想允许客户端(包括非常慢的客户端)从JAX-RS(泽西岛)Web服务下载大文件,我被卡住了.似乎JAX-RS中的异步胖子不支持这一点. >如果必须等待资源在服务器端可用,AsyncRespon ...

  3. Java:以CSV格式流式传输JDBC结果集

    在上一篇文章中 ,我展示了如何将java.sql.ResultSet转换为JSON并将其流回调用方. 这篇文章是关于以CSV格式流式传输的. 流式传输使您可以一点一点地传输数据,而不必将所有数据都加载 ...

  4. 基于ASP.NET Core SignalR的流式传输

    基于ASP.NET Core SignalR的流式传输 SignalR概述 SignalR是ASP.NET Core下非常流行的实现Web实时功能的库.微软再文档中列出了适合的应用场景: 适合 Sig ...

  5. java流式传输对象_使用Java 8在地图上流式传输

    java流式传输对象 在本文中,我将向您展示如何在标准Java映射上有效地实现Speedment Open Source流,并将Stream接口扩展为MapStream! 即使在复杂的情况下,此添加将 ...

  6. java流式传输对象_Java性能:面向教学与流式传输

    java流式传输对象 在for循环中向上或向下计数是最有效的迭代方式吗? 有时答案既不可行. 阅读这篇文章,了解不同迭代品种的影响. 迭代性能 关于如何以高性能进行迭代有很多观点. Java中的传统迭 ...

  7. Java:将JDBC ResultSet作为JSON流式传输

    这篇文章展示了如何将java.sql.ResultSet转换为JSON并将其流回调用方. 如果要将大型数据集从JDBC数据源以JSON格式发送到Web应用程序,此功能很有用. 流式传输使您可以一点一点 ...

  8. Java:逐步读取/流式传输CSV文件

    我一直在做一些涉及读取CSV文件的工作,而我一直在使用OpenCSV ,而我的最初方法是逐行读取文件,解析内容并将其保存到地图列表中. 当文件的内容适合内存时,此方法有效,但对于较大的文件来说是个问题 ...

  9. steam link 闪屏_使用Steam Link应用将PC游戏直接流式传输到iPhone或移动设备

    steam link 闪屏 I think that we, as an industry, are still figuring game streaming out. It's challengi ...

  10. js数组对象递归转换树_使用手刹批量转换视频目录树以递归流式传输到Xbox360

    js数组对象递归转换树 I've got many many gigs of 640x480 video of the kids and family taken on my Flip Ultra a ...

最新文章

  1. vc获取n卡编号_电脑入门知识:通过显卡型号中字母和数字判断显卡性能
  2. 如何将VMware ubuntu虚拟机磁盘增长改成自分配(未成功)
  3. 华为校园招聘Java机试题
  4. 虚拟机的ip地址为什么会发生变化
  5. 那些开发《虚拟光驱》的人们
  6. 黑客利用域前置技术攻击缅甸政府并隐藏恶意活动
  7. 施乐s2110进入维修模式_施乐S2110维修手册(无密码)
  8. 微型计算机硬件性能主要取决于什么,微型计算机硬件系统的性能主要取决于
  9. 有return的情况下try catch finally的执行顺序(最有说服力的总结) 后面的神评论
  10. C语言简易程序设计————6、用*号输出字母C的图案
  11. 访问学者博士后面签后的几种情况?
  12. 渗透测试 | IP信息收集
  13. python制作自己的专属二维码
  14. 整合篇:零基础学习与使用ElasticSearch
  15. 为了上班摸鱼我用Python制作了俄罗斯方块?
  16. 分式化简结果要求_分式化简的结果有什么要求?
  17. java 匿名函数_Java中的lambda匿名函数使用
  18. 如何去掉Windows7开机那个烦人的360安全卫士提示窗口
  19. android stuio 设置代理
  20. labview编程作计算机,[计算机软件及应用]LabVIEW编程入门.ppt

热门文章

  1. fatal: 无法创建 '/xxx/xxx/xxx/xxx/.git/index.lock':文件已存在。似乎另外一个 git 进程在这个仓库中运行,例如:'git commit' 命令打开了一个编辑
  2. 微信小程序独立服务器的好处,微信小程序的优势和缺点
  3. Joiner.on和stream().map联合使用技巧
  4. 电脑中的cache文件夹可以删除吗?
  5. DRS是啥你都不知道?不是吧,不是吧
  6. Customer类的设计
  7. 路由器DNS根域名解析失败
  8. 特价酒店预定应用HotelTonight获Battery和Accel 900万投资
  9. 重新定义软件定义安全
  10. win10计算机如何切换用户名,win10怎么改用户名_win10怎么更改用户名