相关疑难解决方法(0)

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
查看次数

java.net.UnknownServiceException:网络安全策略不允许与 t.main.wedeep.com.cn 的 CLEARTEXT 通信

当我使用 mockhttpserver 测试 http 请求时出现上述错误,以下代码是我创建服务的方式。

   fun <T> getService(clazz: Class<T>): T {
        val client = OkHttpClient.Builder().addInterceptor(HeaderInterceptor()).addInterceptor(HttpLoggingInterceptor().apply { level = if (BuildConfig.DEBUG) HttpLoggingInterceptor.Level.BODY else HttpLoggingInterceptor.Level.NONE })
                .build()
        return Retrofit.Builder()
                .baseUrl(mockWebServer.url(""))
                .client(client)
                .addConverterFactory(GsonConverterFactory.create(GSON))
                .build()
                .create(clazz)
    }
Run Code Online (Sandbox Code Playgroud)

这是我的测试代码。

@UninstallModules(HomePageDataModule::class)
@HiltAndroidTest
class TestHomePageViewModel {


    private lateinit var viewModel: HomePageViewModel

    @get:Rule
    var hiltRule = HiltAndroidRule(this)

    @Inject
    lateinit var cpd: CompositionDao

    @Inject
    lateinit var csd: CompositionsDao

    @Inject
    lateinit var hpds: HomePageDataSource

    @Inject
    lateinit var ss :HomePageService

    @Before
    fun init() {
        hiltRule.inject()
        viewModel = HomePageViewModel(HomeCompositionsRepository(cpd, csd, hpds, Util.GSON)) …
Run Code Online (Sandbox Code Playgroud)

android download-manager okhttp android-9.0-pie

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

通过android中的mediaplayer直播

任何身体都可以帮助如何在Android媒体播放器中流式传输实时网址...我尝试了这么长但相同的结果....如果有任何身体之前做过的话请帮助

android media-player http-live-streaming

3
推荐指数
1
解决办法
2万
查看次数

显示错误:尝试在空对象引用上调用接口方法'int java.util.List.size()'

我正在创建一个在列表视图中显示联系人列表的应用程序.问题是当我运行我的应用程序并且我正在努力解决它时,我收到以下错误:

04-05 13:41:48.868 2488-2488/? E/AndroidRuntime: FATAL EXCEPTION: main
                                             Process: com.kksworld.jsonparsing, PID: 2488
                                             java.lang.NullPointerException: Attempt to invoke interface method 'int java.util.List.size()' on a null object reference
                                                 at android.widget.ArrayAdapter.getCount(ArrayAdapter.java:337)
                                                 at android.widget.ListView.setAdapter(ListView.java:491)
                                                 at com.kksworld.jsonparsing.MainActivity$JSONTask.onPostExecute(MainActivity.java:120)
                                                 at com.kksworld.jsonparsing.MainActivity$JSONTask.onPostExecute(MainActivity.java:48)
                                                 at android.os.AsyncTask.finish(AsyncTask.java:651)
                                                 at android.os.AsyncTask.-wrap1(AsyncTask.java)
                                                 at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:668)
                                                 at android.os.Handler.dispatchMessage(Handler.java:102)
                                                 at android.os.Looper.loop(Looper.java:148)
                                                 at android.app.ActivityThread.main(ActivityThread.java:5417)
                                                 at java.lang.reflect.Method.invoke(Native Method)
                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

MainActivity.java

package com.kksworld.jsonparsing;
import android.content.Context;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import com.kksworld.jsonparsing.models.ContactModel; …
Run Code Online (Sandbox Code Playgroud)

android

3
推荐指数
1
解决办法
5万
查看次数

React Native - 确保您的捆绑包正确打包或者您正在运行打包服务器发布模式

我正在尝试在模拟器上以发布模式运行我的 React Native 应用程序(Android 版本)。我从 android studio 运行它。

突然我开始收到这个错误

致命异常:Thread-3 进程:com.cgi.oslomelding.foresatte,PID:7057 java.lang.RuntimeException:无法从资产“index.android.bundle”加载脚本。确保您的捆绑包已正确打包或者您正在运行打包服务器。在 com.facebook.react.bridge.CatalystInstanceImpl.jniLoadScriptFromAssets(本机方法) 在 com.facebook.react.bridge.CatalystInstanceImpl.loadScriptFromAssets(CatalystInstanceImpl.java:216) 在 com.facebook.react.bridge.JSBundleLoader$1.loadScript(JSBundleLoader) .java:33) 在 com.facebook.react.bridge.CatalystInstanceImpl.runJSBundle(CatalystInstanceImpl.java:234) 在 com.facebook.react.ReactInstanceManager.createReactContext(ReactInstanceManager.java:1113) 在 com.facebook.react.ReactInstanceManager。访问 $900(ReactInstanceManager.java:113) 在 com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:920) 在 java.lang.Thread.run(Thread.java:764)

该捆绑包似乎无法正常工作。关于如何克服这个问题有什么想法吗?

我的react-native版本是0.53.3 我的gradle版本是4.10.1 我的android插件版本是3.3.0

android react-native

3
推荐指数
1
解决办法
1825
查看次数

为什么带有明文的HTTP流量错误ERR_CLEARTEXT_NOT_PERMITTED持续存在?

我正在使用Ionic-framework开发一个新应用,并且正在使用HttpClient模块来处理API请求。

问题是我已阅读并尝试将解决方案应用于:

  1. https://medium.com/@son.rommer/fix-cleartext-traffic-error-in-android-9-pie-2f4e9e2235e6
  2. https://forum.ionicframework.com/t/livereload-err-cleartext-not-permitted/163487
  3. Android 8:不允许使用明文HTTP流量
  4. 升级到Cordova Android 8后,为什么会看到net :: ERR_CLEARTEXT_NOT_PERMITTED错误?
  5. 如何在颤抖中修复'net :: ERR_CLEARTEXT_NOT_PERMITTED'
  6. Android Pie:WebView在某些站点上显示纯HTTP错误,即使使用useClearTextTraffic =“ true”
  7. WebView显示ERR_CLEARTEXT_NOT_PERMITTED,尽管站点是HTTPS

但是我的应用程序在对API进行查询时始终抛出此错误。

这是我的文件的详细信息:

/时,config.xml中

    <?xml version='1.0' encoding='utf-8'?>
<widget id="com.example" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    ...
    <platform name="android">
        <edit-config file="app/src/main/AndroidManifest.xml" mode="merge" target="/manifest/application" xmlns:android="http://schemas.android.com/apk/res/android">
            <application android:networkSecurityConfig="@xml/network_security_config"/>
            <application android:usesCleartextTraffic="true" />
        </edit-config>
        <resource-file src="resources/android/xml/network_security_config.xml" target="app/src/main/res/xml/network_security_config.xml" />
     ...
</widget>
Run Code Online (Sandbox Code Playgroud)

/ resources / android / xml /中network_security_config.xml

    <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
      <domain includeSubdomains="true">localhost</domain>
    </domain-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)

使用安全加密的协议HTTPS是无效的。该API仅允许使用HTTP。

android cordova ionic-framework

3
推荐指数
1
解决办法
4718
查看次数

在清单中的何处添加 android:usescleartexttraffic="true"

如果我添加它,<application>那么它会给我C:\Users\adity\Desktop\Parse-Server-Starter-Project\ParseStarterProject\build\intermediates\packaged_manifests\debug\AndroidManifest.xml:27: AAPT: error: attribute android:usescleartexttraffic not found.

android

3
推荐指数
1
解决办法
6837
查看次数

Android P - NetworkSecurityPolicy.isCleartextTrafficPermitted false当network-security-config base-config cleartextTrafficPermitted为true时

这是在Android P上使用支持库版本28.0.0-rc01.

我已根据几个SO帖子关注此问题的说明/解决方案:

如何解决Android P DownloadManager停止"不允许使用明文HTTP流量到127.0.0.1"?

Android 8:不允许使用Cleartext HTTP流量

以及其他几个人.

问题是即使network-security-config base-config将此值设置为true,当我检查NetworkSecurityPolicy.isCleartextTrafficPermitted时它返回false.导航到WebView中的非https页面时,会导致ERR_CLEARTEXT_NOT_PERMITTED错误.

这是AndroidManifest的一个片段

<application
    ...
    android:supportsRtl="true"
    android:networkSecurityConfig="@xml/network_security_config"
    android:usesCleartextTraffic="true">
Run Code Online (Sandbox Code Playgroud)

我试过这个包括'usesCleartextTraffic',只是'networkSecurityConfig'和两者的组合.

这是相关的network-security-config

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" >
        <trust-anchors>
            <certificates src="system"/>
        </trust-anchors>
    </base-config>
</network-security-config>
Run Code Online (Sandbox Code Playgroud)

请注意,我已经尝试过使用和不使用'trust-anchors'.我确实有AndroidManifest和network-security-config以及调试版本.但是,两者都具有相同的设置(除系统外,debug还允许用户证书).

我还通过检查logcat来验证正在读取安全策略.在这一点上,我感到茫然,因为它似乎没有被尊重.

任何帮助,将不胜感激.

https android http android-9.0-pie

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

明文HTTP流量不允许

我正在一个项目中工作,并且被困在登录/注册页面的实施中。当我尝试执行代码时,它给了我错误Cleartext HTTP traffic to 192.168.1.130 not permitted。我检查了ipconfig,那是我的IPv4,所以我添加了192.168.1.130,但我也检查了127.0.0.1,但是那个也不起作用。

我尝试实现<domain includeSubdomains="true">192.168.1.130</domain>但是不起作用(实现android:usesCleartextTraffic="true"也不起作用)。

我在后端使用XAMPP,如果我运行php代码,一切正常,因此没有问题。问题出在Android Studio(我正在使用Kotlin)中。

对于仿真器,我正在使用Genymotion仿真器(它使用VirtualBox)。

这是采用的按钮的代码url。我检查了所有内容,但仍未实现。

login.setOnClickListener {
            var url = "http://192.168.1.130/php/login.php?mobile=" + login_user.text.toString() +
                    "&password=" + login_password.text.toString()
Run Code Online (Sandbox Code Playgroud)

xml android kotlin

1
推荐指数
2
解决办法
1万
查看次数

为 keyclock authService.performTokenRequest() 函数执行 doInBackground() 时发生错误

在集成Keyclock SDK时,我尝试交换授权码来访问令牌

authService.performTokenRequest(
resp.createTokenExchangeRequest(),
new AuthorizationService.TokenResponseCallback() {
  @Override public void onTokenRequestCompleted(
        TokenResponse resp, AuthorizationException ex) {
      if (resp != null) {
        // exchange succeeded
      } else {
        // authorization failed, check ex for more details
      }
    }
});
Run Code Online (Sandbox Code Playgroud)

我收到以下错误,

  java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:354)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
 Caused by: java.lang.IllegalArgumentException: only https connections are permitted
    at net.openid.appauth.Preconditions.checkArgument(Preconditions.java:116)
    at net.openid.appauth.connectivity.DefaultConnectionBuilder.openConnection(DefaultConnectionBuilder.java:51)
    at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:418)
    at net.openid.appauth.AuthorizationService$TokenRequestTask.doInBackground(AuthorizationService.java:395) …
Run Code Online (Sandbox Code Playgroud)

android android-asynctask android-backup-service keycloak appauth

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