- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看到一个特定于运行 Android 5.1.1 的 Galaxy S6 的问题。我正在使用 MediaPlayer 播放音频流,并且在设备和 Android 版本的这种特定配置上,它无法到达 onPrepared 方法,因此永远不会播放。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAndroidPlayer = new MediaPlayer();
mAndroidPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mediaPlayer, int i, int i1) {
System.out.print("ERROR " + i);
return false;
}
});
mAndroidPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
System.out.println("PREPARED");
mAndroidPlayer.start();
}
});
mAndroidPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mAndroidPlayer.setDataSource("http://live.radioart.com/fFilm_scores.mp3");
} catch (IOException e) {
e.printStackTrace();
}
try {
mAndroidPlayer.prepareAsync();
} catch (IllegalStateException e) {
e.printStackTrace();
}
}
重申一下,它在所有其他设备和 Android 版本上运行良好。
控制台输出如下:
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest E/Zygote﹕ MountEmulatedStorage()
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest E/Zygote﹕ v2
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest I/libpersona﹕ KNOX_SDCARD checking this for 10229
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest I/libpersona﹕ KNOX_SDCARD not a persona
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest I/SELinux﹕ Function: selinux_compare_spd_ram , priority [2] , priority version is VE=SEPF_SM-G920V_5.1.1_0024
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest E/SELinux﹕ [DEBUG] get_category: variable seinfo: default sensitivity: NULL, cateogry: NULL
09-04 09:54:51.112 24991-24991/com.tsm.mediaplayertest I/art﹕ Late-enabling -Xcheck:jni
09-04 09:54:51.122 24991-24991/com.tsm.mediaplayertest D/TimaKeyStoreProvider﹕ TimaSignature is unavailable
09-04 09:54:51.122 24991-24991/com.tsm.mediaplayertest D/ActivityThread﹕ Added TimaKeyStore provider
09-04 09:54:51.132 24991-24998/com.tsm.mediaplayertest E/art﹕ Failed sending reply to debugger: Broken pipe
09-04 09:54:51.132 24991-24998/com.tsm.mediaplayertest I/art﹕ Debugger is no longer active
09-04 09:54:51.132 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ Inside getClassLibPath + mLibMap{0=, 1=}
09-04 09:54:51.132 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ Inside getClassLibPath caller
09-04 09:54:51.142 24991-24991/com.tsm.mediaplayertest D/InjectionManager﹕ InjectionManager
09-04 09:54:51.142 24991-24991/com.tsm.mediaplayertest D/InjectionManager﹕ fillFeatureStoreMap com.tsm.mediaplayertest
09-04 09:54:51.142 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ Constructor com.tsm.mediaplayertest, Feature store :{}
09-04 09:54:51.142 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ featureStore :{}
09-04 09:54:51.162 24991-24991/com.tsm.mediaplayertest D/SecWifiDisplayUtil﹕ Metadata value : SecSettings2
09-04 09:54:51.172 24991-24991/com.tsm.mediaplayertest D/PhoneWindow﹕ *FMB* installDecor mIsFloating : false
09-04 09:54:51.182 24991-24991/com.tsm.mediaplayertest D/PhoneWindow﹕ *FMB* installDecor flags : -2139029248
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest I/MediaPlayer﹕ Need to enable context aware info
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest V/MediaPlayer-JNI﹕ native_setup
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest V/MediaPlayer﹕ constructor
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest V/MediaPlayer﹕ setListener
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest V/MediaPlayer-JNI﹕ setAudioStreamType: 3
09-04 09:54:51.202 24991-24991/com.tsm.mediaplayertest V/MediaPlayer﹕ MediaPlayer::setAudioStreamType
09-04 09:54:51.212 24991-24991/com.tsm.mediaplayertest V/MediaPlayer﹕ setVideoSurfaceTexture
09-04 09:54:51.212 24991-24991/com.tsm.mediaplayertest V/MediaPlayer﹕ prepareAsync
09-04 09:54:51.212 24991-24991/com.tsm.mediaplayertest D/Activity﹕ performCreate Call Injection manager
09-04 09:54:51.212 24991-25004/com.tsm.mediaplayertest D/MediaHTTPConnection﹕ setReadTimeOut = 30000ms
09-04 09:54:51.212 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ dispatchOnViewCreated > Target : com.tsm.mediaplayertest.MainActivity isFragment :false
09-04 09:54:51.212 24991-25010/com.tsm.mediaplayertest D/OpenGLRenderer﹕ Use EGL_SWAP_BEHAVIOR_PRESERVED: true
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest D/MediaHTTPConnection﹕ setReadTimeout with 30000ms
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ (HTTPLog)-Static: isShipBuild true
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ (HTTPLog)-Thread-5351-996493763: SmartBonding Enabling is false, SHIP_BUILD is true, log to file is false, DBG is false
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ (HTTPLog)-Thread-5351-996493763: SMARTBONDING_FEATURE_ENABLED is true
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ (HTTPLog)-Static: isSBSettingEnabled false
09-04 09:54:51.222 24991-25004/com.tsm.mediaplayertest I/System.out﹕ KnoxVpnUidStorageknoxVpnSupported API value returned is false
09-04 09:54:51.222 24991-24991/com.tsm.mediaplayertest D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled mFloatingMenuBtn : null
09-04 09:54:51.222 24991-24991/com.tsm.mediaplayertest D/PhoneWindow﹕ *FMB* isFloatingMenuEnabled return false
09-04 09:54:51.242 24991-24991/com.tsm.mediaplayertest D/SRIB_DCS﹕ log_dcs ThreadedRenderer::initialize entered!
09-04 09:54:51.262 24991-25010/com.tsm.mediaplayertest D/libEGL﹕ loaded /vendor/lib/egl/libGLES_mali.so
09-04 09:54:51.272 24991-25010/com.tsm.mediaplayertest I/OpenGLRenderer﹕ Initialized EGL, version 1.4
09-04 09:54:51.282 24991-25010/com.tsm.mediaplayertest I/OpenGLRenderer﹕ HWUI protection enabled for context , &this =0xf4d8c940 ,&mEglDisplay = 1 , &mEglConfig = -185126244
09-04 09:54:51.282 24991-25010/com.tsm.mediaplayertest D/OpenGLRenderer﹕ Get maximum texture size. GL_MAX_TEXTURE_SIZE is 8192
09-04 09:54:51.282 24991-25010/com.tsm.mediaplayertest D/OpenGLRenderer﹕ Enabling debug mode 0
09-04 09:54:51.282 24991-25010/com.tsm.mediaplayertest D/mali_winsys﹕ new_window_surface returns 0x3000, [1440x2560]-format:1
09-04 09:54:51.292 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ dispatchCreateOptionsMenu :com.tsm.mediaplayertest.MainActivity
09-04 09:54:51.292 24991-24991/com.tsm.mediaplayertest I/InjectionManager﹕ dispatchPrepareOptionsMenu :com.tsm.mediaplayertest.MainActivity
09-04 09:54:51.322 24991-24991/com.tsm.mediaplayertest I/Timeline﹕ Timeline: Activity_idle id: android.os.BinderProxy@356f9c4b time:29488057
09-04 09:54:51.672 24991-25004/com.tsm.mediaplayertest I/MediaHTTPConnection﹕ response code = 200
09-04 09:54:51.672 24991-25004/com.tsm.mediaplayertest V/MediaHTTPConnection﹕ mTotalSize is -1
09-04 09:54:51.672 24991-25004/com.tsm.mediaplayertest D/MediaHTTPConnection﹕ getProperties 16
09-04 09:54:51.672 24991-25013/com.tsm.mediaplayertest D/MediaHTTPConnection﹕ getProperties 16
09-04 09:54:52.142 24991-24998/com.tsm.mediaplayertest I/art﹕ Ignoring second debugger -- accepting and dropping
最佳答案
这是一个部分解决方案,但在我看来它是最持久的解决方案。 MediaPlayer 是很久以前创建的,因此不是我们想要的那样灵活。我一直在用Exoplayer从现在到现在的最后一个版本仅提供音频播放。所以我想如果你改变你的音频播放器的实现来使用 Exoplayer 它会解决大部分问题和以后的问题。
Exoplayer 是来自 google 开发人员的强大播放器,可作为外部库使用,因此您无需管理某些 Android 版本上的错误实现。
关于Android MediaPlayer 无法在装有 Android 5.1.1 的 Galaxy S6 上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32379922/
我想在 galaxy fold 设备上查看我的页面时更改它的字体大小。但我不确定如何使用媒体查询来处理这个问题。任何人都可以帮助我并告诉我如何解决这个问题吗? 最佳答案 如果您需要对折叠版设备进行媒体
我想在 galaxy fold 设备上查看我的页面时更改它的字体大小。但我不确定如何使用媒体查询来处理这个问题。任何人都可以帮助我并告诉我如何解决这个问题吗? 最佳答案 如果您需要对折叠版设备进行媒体
我正在开发 Android Widget,需要区分 Galaxy S 和 Galaxy S2。我几乎阅读了所有关于屏幕尺寸和密度的文章。当然,我需要将新限定词与新限定词 Smallest Width
如何为 galaxy S3(720x1280 像素)和 galaxy Note(800x1280 像素)进行布局。 两者都是超高密度设备,因此我需要将两种设备的两组图像放在同一个文件夹 drawabl
我正在使用以下设置来初始化 MediaRecorder .我的应用程序在除三星以外的大多数设备上都能正常运行,并且在 MediaRecorder.stop() 上出现错误. recorder
我在连接到我的服务器以检查我的电话应用程序的凭据时遇到问题,我正在使用 phonegap 来开发它。 我已经检查过这些问题,但它们没有给我我正在寻找的东西 HTTP Requests in Phone
我想知道为什么 Galaxy S3 和 S4 从这个文件夹 (drawable-sw360dp-xhdpi) 获取图像?? 所有图像对于这些设备来说都显得非常大!另外,如果我将这些图像缩小,它们将不适
根据我的发现,Samsung galaxy s2 的分辨率为 480x800,而 s3 的分辨率为 1280x720。所以我认为我应该让我的图形设计师为我提供包含 480x800 背景图像的 hdpi
我有一部搭载 Android 4.0.2 和 NXP 演示板 PN532-C106 的 Galaxy Nexus 手机。 我正在尝试连接它们以使用 LLCP 协议(protocol)发送数据,我正在使
我在区分 samsung galaxy s4 和 samsung galaxy s3 的布局文件夹时遇到问题。我尝试过 layout-sw360dp、layout-sw360dp-xxhdpi、lay
我已经实现了一个 android 应用程序来在网络摄像头之间切换。我使用此代码 Android ICS and MJPEG using AsyncTask .它工作得很好。但是现在的问题。在对 Sam
我有一个奇怪的问题。我正在检索推特,它可以在模拟器和我的 Samsung Galaxy S 上运行,但它不能在我的 Galaxy Tab 10.1 上运行? 手机和标签页上都安装了相同的应用程序。从
我正在使用 FLASH_MODE_ON 打开相机 LED 灯。 三星 Galaxy Ace 只有三种闪光模式:开、关和自动。 FLASH_MODE_TORCH在三星 Galaxy Tab 和三星 Ga
我在安装以超时结束的 ansible 集合时遇到问题 # ansible-galaxy collection install community.general -vvvv ansible-galax
我正在尝试部署一个通过运行meteor部署appname创建的新应用程序,但它给了我这个错误...我使用我的meteor开发者用户名和密码登录... 我必须注册 Galaxy,还是无需注册就可以免费完
我正在尝试安装 Ansible Galaxy 集合,但我需要强制执行旧版本。 According to the documentation ,我尝试通过以下方式执行安装: $ ansible-gala
我正在尝试安装 Ansible Galaxy 集合,但我需要强制执行旧版本。 According to the documentation ,我尝试通过以下方式执行安装: $ ansible-gala
我的 friend 用他的新 galaxy 选项卡试用了我的应用程序,它似乎与我测试它的模拟器略有不同。他的应用程序选项菜单是黑色的,而不是白色背景,你无法真正看到任何选项,而且大多数应用程序都无法正
我是Andoid新手我想为 Galaxy 选项卡设计布局以及其他布局。我设计了四种布局Layout-small、large、xlarge 和 normal 布局。但是当我试图在 Galaxy 选项卡中
我想要做的就是有一个特定于桌面的版本,然后是一个可以在 iPhone、Android、iPad 和任何其他手持设备上运行的移动版本。 我现在检测桌面的是: @media only screen and
我是一名优秀的程序员,十分优秀!