Java 代号一个mediaplayer不在android设备上工作

Java 代号一个mediaplayer不在android设备上工作,java,android,codenameone,Java,Android,Codenameone,我正在创建一个mediaplayer应用程序,该应用程序应该可以从远程url流式传输mp3文件。问题是,在codename one模拟器上,一切都可以正常工作,但在实际的android设备上却无法正常工作。我希望该应用程序能够像在模拟器上一样显示本机播放器控件。下面是我的代码和屏幕截图 try { video = MediaManager.createMedia(sample_url,true); Display.getInstance().callSerially(

我正在创建一个mediaplayer应用程序,该应用程序应该可以从远程url流式传输mp3文件。问题是,在codename one模拟器上,一切都可以正常工作,但在实际的android设备上却无法正常工作。我希望该应用程序能够像在模拟器上一样显示本机播放器控件。下面是我的代码和屏幕截图

 try {
      video = MediaManager.createMedia(sample_url,true);
       Display.getInstance().callSerially(() -> {
                if (mp != null){
                    mp.getMedia().cleanup();
                }
                Image samp = theme.getImage("sample.png");
                Label samlabel = new Label();
                samlabel.setIcon(samp);
                mp = new MediaPlayer(video);
                mp.setAutoplay(false);
                video.setNativePlayerMode(true);
                sample.add(BorderLayout.CENTER,BorderLayout.centerAbsolute(samlabel));
                sample.add(BorderLayout.SOUTH,mp);
                 //songDetails.add(mp);

            });


第一个图像是模拟器屏幕截图,第二个图像是实际的android设备屏幕截图。从你的帖子中不清楚这是一个音频的mp3,没有媒体控制或实际的视频。
MediaPlayer
类严格适用于视频,您通过了
true
以指示这是一个视频文件,因此我会将其视为视频文件

请注意,如果这是一个音频文件,则需要添加/创建自己的控件,并且不应使用
MediaPlayer

如前所述,我们最近定义了本机媒体控件渲染的行为

只需使用:

video.setVariable(Media.VARIABLE_NATIVE_CONTRLOLS_EMBEDDED, true);

从你的帖子中不清楚这是否是一个
mp3
,它是音频的,没有媒体控制或实际的视频。
MediaPlayer
类严格适用于视频,您通过了
true
以指示这是一个视频文件,因此我会将其视为视频文件

请注意,如果这是一个音频文件,则需要添加/创建自己的控件,并且不应使用
MediaPlayer

如前所述,我们最近定义了本机媒体控件渲染的行为

只需使用:

video.setVariable(Media.VARIABLE_NATIVE_CONTRLOLS_EMBEDDED, true);

这并不能完全解释你的问题,只是图像问题吗?错过了灰色酒吧的事?此外,我认为您需要包括mmore代码,因为这似乎不包括您的问题所在,最好在图像中用相同的歌曲来表达。我的问题是缺少带有本地播放器控件的灰色条。它在模拟器上工作,但在实际设备上不工作,因此用户无法在下载前流式传输样本这首歌并不能很好地解释你的问题,只是图像问题吗?错过了灰色酒吧的事?此外,我认为您需要包括mmore代码,因为这似乎不包括您的问题所在,最好在图像中用相同的歌曲来表达。我的问题是缺少带有本地播放器控件的灰色条。它在模拟器上工作,但在实际设备上不工作,因此用户无法在下载前流式传输样本这首歌实际上是一个音频文件。你有任何教程、演示或代码示例,我可以用来创建我自己的控件,因为我有点笨。只需添加播放/暂停等按钮。播放调用“开始”和“暂停”按钮调用媒体上的停止等。cn1是否有我可以用来更新标签(计时器)的侦听器播放文件时,我们此时只有一个完成回调,但您可以使用
UITimer
更新显示元素。它实际上是一个音频文件。你有任何教程、演示或代码示例,我可以用来创建我自己的控件,因为我有点笨。只需添加播放/暂停等按钮。播放调用“开始”和“暂停”按钮调用媒体上的停止等。cn1是否有我可以用来更新标签(计时器)的侦听器播放文件时,我们此时只有一个完成回调,但您可以使用
UITimer
更新显示元素。