流中的音频.PLS在安卓 [英] Stream an audio .pls in android

查看:264
本文介绍了流中的音频.PLS在安卓的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在做喜欢的应用程序,使用流式传输的无线电。在这里,我需要从一个链接流中的音频(的http://somedomain/some.pls )。

I'm making an radio like application that uses streaming. Here i need to stream the audio from a link (http://somedomain/some.pls).

我已经创建的MediaPlayer 并知道如何从一个音频文件播放。但不知道如何从网上流式处理。

I have created MediaPlayer and know how to play from an audio file. But don't know how to stream it from net.

编辑:  logcat中我得到了,而我用下面的code

EDIT : logcat i got while i used the following code

MediaPlayer mp = new MediaPlayer();  
mp.setDataSource(http://somedomain/some.pls);
mp.prepare();
mp.start()

通过日志标签 ** **的MediaPlayer

  02-15 05:50:11.761: VERBOSE/MediaPlayer(23715): constructor
    02-15 05:50:11.761: VERBOSE/MediaPlayer(23715): setListener
    02-15 05:50:11.761: INFO/MediaPlayer(23715): uri is:http://some:444/sdfd.pls
    02-15 05:50:11.761: INFO/MediaPlayer(23715): path is null
    02-15 05:50:11.761: DEBUG/MediaPlayer(23715): Couldn't open file on client side, trying server side
    02-15 05:50:11.765: VERBOSE/MediaPlayer(23715): setDataSource(http://some:444/sdfd.pls)
    02-15 05:50:11.777: VERBOSE/MediaPlayer(23715): prepare
    02-15 05:50:13.105: ERROR/MediaPlayer(23715): message received msg=3, ext1=0, ext2=0
    02-15 05:50:13.105: VERBOSE/MediaPlayer(23715): buffering 0
    02-15 05:50:13.105: ERROR/MediaPlayer(23715): callback application
    02-15 05:50:13.105: ERROR/MediaPlayer(23715): back from callback

通过日志标签 ** PlayerDriver **

02-15 05:50:11.765: VERBOSE/PlayerDriver(2393): constructor
02-15 05:50:11.765: VERBOSE/PlayerDriver(2393): OpenCore hardware module not found
02-15 05:50:11.765: VERBOSE/PlayerDriver(2393): start player thread
02-15 05:50:11.765: VERBOSE/PlayerDriver(2393): startPlayerThread
02-15 05:50:11.769: VERBOSE/PlayerDriver(2393): InitializeForThread
02-15 05:50:11.769: VERBOSE/PlayerDriver(2393): OMX_MasterInit
02-15 05:50:11.769: VERBOSE/PlayerDriver(2393): OsclScheduler::Init
02-15 05:50:11.769: VERBOSE/PlayerDriver(2393): CreatePlayer
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): AddToScheduler
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): PendForExec
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): OsclActiveScheduler::Current
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): StartScheduler
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): Send player code: 2
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): CommandCompleted
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): Completed command PLAYER_SETUP status=1
02-15 05:50:11.777: INFO/PlayerDriver(2393): PlayerDriver::isProtectedFile(http://some:444/sdfd.pls)
02-15 05:50:11.777: VERBOSE/PlayerDriver(2393): File EXT is : .pls
02-15 05:50:11.777: ERROR/PlayerDriver(2393): PlayerDriver::it is a not Protected file
02-15 05:50:11.781: VERBOSE/PlayerDriver(2393): Send player code: 3
02-15 05:50:11.781: VERBOSE/PlayerDriver(2393): handleSetDataSource
02-15 05:50:11.781: VERBOSE/PlayerDriver(2393): handleSetDataSource- scanning for extension
02-15 05:50:11.800: VERBOSE/PlayerDriver(2393): CommandCompleted
02-15 05:50:11.800: VERBOSE/PlayerDriver(2393): Completed command PLAYER_SET_DATA_SOURCE status=1
02-15 05:50:11.800: VERBOSE/PlayerDriver(2393): Send player code: 6
02-15 05:50:11.800: VERBOSE/PlayerDriver(2393): release string is 2.2 len 3
02-15 05:50:13.101: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 34
02-15 05:50:13.101: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 19
02-15 05:50:13.124: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 20
02-15 05:50:14.511: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 20
02-15 05:50:16.509: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 20

5月2日至15号:50:16.509:VERBOSE / PlayerDriver(2393):HandleInformationalEvent:20 循环却没有声音..
什么可能是错的..
谢谢你。

This 02-15 05:50:16.509: VERBOSE/PlayerDriver(2393): HandleInformationalEvent: 20 loops but no sound ..
What may be wrong..
Thank you.

推荐答案

从Android支持流式.PLS文件媒体播放器API,但是这个API是不是最好的选择和放大器;该文档不是很好。在官方文档中给出​​的生命周期图给出了有价值的信息,但可能会混淆在第一一目了然。

Mediaplayer api from android supports streaming a .pls file, but the API is not best option & the documentation is not well. The life cycle diagram given in the official documentation gives valuable information but may be confusing at a first glance.

一个样本code片断:

A sample code snippet:

MediaPlayer mp;
mp=MediaPlayer.create(getApplicationContext(),Uri.parse(url))
Example url of  .pls file http://50.xx.xxx.xx:xx40/)

mp.start();
mp.pause();
mp.release() (or mp.reset() as applicable)

<一个href="http://developer.android.com/reference/android/media/MediaPlayer.html#create(android.content.Context" rel="nofollow">http://developer.android.com/reference/android/media/MediaPlayer.html#create(android.content.Context, android.net.Uri)

http://developer.android.com/reference/android/media/MediaPlayer.html#create(android.content.Context, android.net.Uri)

有听众/回调可以用MediaPlayer的API,但它确实是有问题的一个应用程序开发者处理音频流。

There are listeners/callback available with MediaPlayer api but it is really problematic to a App developer working on audio streaming.

在code代码片段中使用的静态构造函数建议/更好的方法来创建URI的媒体对象(如HTTP URL与主机和端口)。 但回叫功能无法使用显影剂因为prepare称为由构造本身。

The static constructor used in the code snippet is suggested/better approach to create the media object with URI (like http url with host and port.) But the call back functions can't be used by developer because the prepare is called by the constructor itself.

创建的对象可以播放/停止在ASYN线程(AsyncTask的API)。

The created object can be played/stopped in a asyn thread (AsyncTask api).

在Android官方文档并没有给任何get方法,让媒体播放器的状态。

The android official documentation does not give any 'get method' to get the status of the mediaplayer.

我欢迎Android应用程序开发者谈这一点;

I welcome android app developers to talk on this;

和我希望框架的工作发展提供更准确的文档 - 多少支持或者有什么重要性和放大器;对谷歌公司和Android架构开发团队对音频流与URL的媒体播放器API的视野。

and I wish frame work developers provide more accurate documentation - how much it supports or what's importance & vision of Google Inc and Android framework development team on Mediaplayer API for audio streaming with urls.

如果一定需要我的帮助,或分享他们的经验,让我们请您谈谈对MediaPlayer的API用于音频流@ http://stackoverflow.com 或Android开发者博客(android-developers.blogspot.com)。

If some need help from me or share their experience let's please talk on MediaPlayer api for audio streaming @ http://stackoverflow.com or android developers blog (android-developers.blogspot.com).

问候 SREE罗摩克里希纳 项目经理和放大器; Android开发者@新MEK解决方案,海得拉巴。

Regards Sree Ramakrishna Program Manager & Android developer @ New Mek Solutions,Hyderabad.

这篇关于流中的音频.PLS在安卓的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆