2
A
回答
1
你可以看到下面的代码从URL流式音频
private void playVideo() {
try {
final String path = "http://www.a1freesoundeffects.com/animals12557/catmeow.wav";
// If the path has not changed, just start the media player
if (path.equals(current) && mp != null) {
mp.start();
return;
}
current = path;
// Create a new media player and set the listeners
mp = new MediaPlayer();
mp.setDataSource(path);
mp.prepare();
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
} catch (Exception e) {
if (mp != null) {
mp.stop();
mp.release();
}
}
}
1
你可以试试这种方式。
class Mp3Filter implements FilenameFilter {
public boolean accept(File dir, String name) {
return (name.endsWith(".mp3"));
}
}
public class AudioPlayer extends ListActivity implements OnClickListener{
private static final String MEDIA_PATH = new String("/sdcard/backup/songs");
private List<String> songs = new ArrayList<String>();
private MediaPlayer mp = new MediaPlayer();
private int currentPosition = 0;
private static final String TAG = "Audio Player Demo ";
private static final String isPlaying = "Media is Playing";
private static final String notPlaying = "Media has stopped Playing";
Button playerButton;
public void onClick(View v) {
if (v.getId() == R.id.play) {
playPause();
}
}
@Override
public void onCreate(Bundle icicle) {
try {
super.onCreate(icicle);
setContentView(R.layout.songlist);
playerButton = (Button) this.findViewById(R.id.play);
playerButton.setText(R.string.stop_label);
playerButton.setOnClickListener(this);
updateSongList();
//demoPlay();
} catch (NullPointerException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
public void updateSongList() {
File home = new File(MEDIA_PATH);
if (home.listFiles(new Mp3Filter()).length > 0) {
for (File file : home.listFiles(new Mp3Filter())) {
songs.add(file.getName());
}
ArrayAdapter<String> songList = new ArrayAdapter<String>(this,R.layout.song_item,songs);
setListAdapter(songList);
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
currentPosition = position;
playSong(MEDIA_PATH + songs.get(position));
}
private void playSong(String songPath) {
try {
mp.reset();
mp.setDataSource(songPath);
mp.prepare();
mp.start();
// Setup listener so next song starts automatically
mp.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer arg0) {
nextSong();}
});
} catch(IOException e) {
Log.v(getString(R.string.app_name), e.getMessage());
}
}
private void nextSong() {
if (++currentPosition >= songs.size()) {
// Last song, just reset currentPosition
currentPosition = 0;
// playSong(MEDIA_PATH + songs.get(currentPosition));
} else {
// Play next song
playSong(MEDIA_PATH + songs.get(currentPosition));
}
}
private void demoPause(){
mp.pause();
playerButton.setText(R.string.play_label);
Toast.makeText(this, notPlaying, Toast.LENGTH_LONG).show();
Log.d(TAG, notPlaying);
}
// Initiate playing the media player
private void demoPlay(){
mp.start();
playerButton.setText(R.string.stop_label);
Toast.makeText(this, isPlaying, Toast.LENGTH_LONG).show();
Log.d(TAG, isPlaying);
}
// Toggle between the play and pause
private void playPause() {
if(mp.isPlaying()) {
demoPause();
} else {
demoPlay();
}
}
}
+0
@ Krunal:感谢乌拉圭回合的答案...我想知道,如果我想补充对此,我应该能够从互联网流媒体比我怎么能做到这一点?任何想法???再次感谢您 – 2010-09-14 06:21:35
+0
我在下面添加了答案,您还可以参考此链接获取更多信息http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/media/MediaPlayerDemo_Video .html – 2010-09-14 07:03:04
相关问题
- 1. Android媒体播放器流媒体
- 2. 在Android中使用java媒体框架
- 3. 使用Android MediaStore管理媒体
- 4. RTSP使用Android MediaPlayer流媒体视频
- 5. 使用Android图库显示媒体RSS
- 6. Android媒体支持
- 7. Android MediaRecorder流媒体
- 8. 如何使用android媒体服务将该媒体返回到我的活动?
- 9. Android的HTTP流媒体播放器的URL使用媒体播放器
- 10. Android媒体播放器
- 11. 在Android中播放媒体
- 12. Android MediaPlayer暂停流媒体
- 13. Android媒体控制器
- 14. Android:媒体广告问题
- 15. Android媒体播放器库
- 16. 流媒体到Android MediaPlayer
- 17. Android媒体播放器seekbar
- 18. android:更新媒体存储
- 19. Android中的媒体格式?
- 20. Android媒体播放器bug
- 21. Android媒体播放器setdatasource
- 22. Android VideoView流媒体问题
- 23. 从Android流媒体到VLC
- 24. RTSP Android媒体播放器
- 25. Android媒体记录器
- 26. Android中的流媒体.asx
- 27. 使用媒体查询
- 28. 从/媒体/使用nginx
- 29. 媒体使用Compact Framework的
- 30. 媒体查询不适用于Android 4.2.2
感谢krunal为你的努力..好的 – 2010-09-14 11:14:51
如果你有任何想法,我如何从我的Android应用程序找到DLNA设备列表?所以我可以将媒体转移到该设备上 – 2010-09-14 11:15:53