小编Lon*_*nky的帖子

Android MediaPlayer java.io.IOException:准备失败。:status = 0x1

我正在使用Android的MediaPlayer在我的应用程序中设置URL流。我尝试了几种不同的方法来处理退出代码和错误:(1,-2147483648)。

我尝试了几种不同的流,但是似乎无法使MediaPlayer正常工作。我曾考虑过要使用Google的ExoPlayer,但它要复杂一些,如果我丢失了某些东西,我不想跳船。

媒体播放器:

private MediaPlayer player;
String url = "http://199.180.75.118:80/stream";     //temp stream
private void initializeMediaPlayer() {
    player = new MediaPlayer();
    player.setAudioAttributes( new AudioAttributes.Builder()
        .setUsage(AudioAttributes.USAGE_MEDIA)
        .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
        .build());

    try { 
        player.setDataSource(url);
        player.prepareAsync();
        player.setOnPreparedListener(new OnPreparedListener() {
            public void onPrepared(MediaPlayer mp) {
                mp.start();
            }
        });
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (IllegalStateException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    } 
}
Run Code Online (Sandbox Code Playgroud)

我还包括了android权限:

<uses-permission android:name="android.permission.INTERNET" /> 
Run Code Online (Sandbox Code Playgroud)

我试图使用原始的流类型(但是它引发了不建议使用的警告):

player.setAudioStreamType(AudioManager.STREAM_MUSIC);
Run Code Online (Sandbox Code Playgroud)

因此,我改用了.setAudioAttributes(...) 我曾经尝试运行的方法,prepare()而不是prepareAsync()给出问题的标题,但仍然导致相同的错误。我没有运气就调查了实际的错误定义(Android MediaPlayer错误(1,-2147483648))。我认为这不是源问题,因为我尝试了其他多个流。如果我跳过了可能导致我的错误的关键内容,请告诉我。

编辑 如果有帮助,我一直在调查我的通话,发现MediaPlayer从未通话onPrepared(...) …

android android-mediaplayer urlstream

4
推荐指数
2
解决办法
1166
查看次数

在 Flutter WebView 插件中限制 URL 可访问性

我开始使用 Flutter 的 WebView 插件在我的应用程序中显示 Facebook 提要。我想限制应用程序用户可以在应用程序 webview 中执行的操作,换句话说,我不希望他们能够访问我显示的初始页面之外的另一个其他 facebook 域。我不希望用户能够登录 Facebook,而不仅仅是能够看到这个不需要帐户的打开的 Facebook Feed。

我尝试托管 Facebook Page 插件,它是一个 iFrame 或 Javascript SDK 插件,但我没有任何运气,因为 webview 不是用来处理这个的。相反,我决定通过 URL 链接到 Facebook 页面。我想避免用户浏览整个 Facebook,所以我能想到的最好方法是限制 URL。

我正在使用 WebView 小部件:

return WebView(
   initialUrl: 'https://www.facebook.com/specific-facebook-page-here',
   javascriptMode: JavascriptMode.disabled,
);
Run Code Online (Sandbox Code Playgroud)

有什么方法可以监控他们的 URL 并避免他们访问 Facebook 域的部分内容?

webview flutter flutterwebviewplugin

4
推荐指数
1
解决办法
3325
查看次数