How do I access the MediaMetadataRetriever.setDataSource(…) status codes?

匿名 (未验证) 提交于 2019-12-03 01:12:01

问题:

I'm getting the following error java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA and I'd like to know what this status is. I'm using the function MediaMetaDataRetriever.setDataSource(String filePath)

回答1:

I got this error java.lang.RuntimeException: setDataSource failed: status = 0xFFFFFFEA when tried to call void setDataSource(String path) on an empty file. (0 bytes)

You need to be 100% sure that path for the file is not null, not empty, the file itself exists and valid.



回答2:

It was very well buried but I found the source. Here is a link to the error codes

It's a build from ICS and I'm not sure where it is in the current build.

My error was a not supported error when I used a midi file.

Source:

/*  * Copyright (C) 2009 The Android Open Source Project  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License at  *  *      http://www.apache.org/licenses/LICENSE-2.0  *  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */  #ifndef MEDIA_ERRORS_H_  #define MEDIA_ERRORS_H_  #include   namespace android {  enum {     MEDIA_ERROR_BASE        = -1000,      ERROR_ALREADY_CONNECTED = MEDIA_ERROR_BASE,     ERROR_NOT_CONNECTED     = MEDIA_ERROR_BASE - 1,     ERROR_UNKNOWN_HOST      = MEDIA_ERROR_BASE - 2,     ERROR_CANNOT_CONNECT    = MEDIA_ERROR_BASE - 3,     ERROR_IO                = MEDIA_ERROR_BASE - 4,     ERROR_CONNECTION_LOST   = MEDIA_ERROR_BASE - 5,     ERROR_MALFORMED         = MEDIA_ERROR_BASE - 7,     ERROR_OUT_OF_RANGE      = MEDIA_ERROR_BASE - 8,     ERROR_BUFFER_TOO_SMALL  = MEDIA_ERROR_BASE - 9,     ERROR_UNSUPPORTED       = MEDIA_ERROR_BASE - 10,     ERROR_END_OF_STREAM     = MEDIA_ERROR_BASE - 11,      // Not technically an error.     INFO_FORMAT_CHANGED    = MEDIA_ERROR_BASE - 12,     INFO_DISCONTINUITY     = MEDIA_ERROR_BASE - 13,      // The following constant values should be in sync with     // drm/drm_framework_common.h     DRM_ERROR_BASE = -2000,      ERROR_DRM_UNKNOWN                       = DRM_ERROR_BASE,     ERROR_DRM_NO_LICENSE                    = DRM_ERROR_BASE - 1,     ERROR_DRM_LICENSE_EXPIRED               = DRM_ERROR_BASE - 2,     ERROR_DRM_SESSION_NOT_OPENED            = DRM_ERROR_BASE - 3,     ERROR_DRM_DECRYPT_UNIT_NOT_INITIALIZED  = DRM_ERROR_BASE - 4,     ERROR_DRM_DECRYPT                       = DRM_ERROR_BASE - 5,     ERROR_DRM_CANNOT_HANDLE                 = DRM_ERROR_BASE - 6,     ERROR_DRM_TAMPER_DETECTED               = DRM_ERROR_BASE - 7,      // Heartbeat Error Codes     HEARTBEAT_ERROR_BASE = -3000,      ERROR_HEARTBEAT_AUTHENTICATION_FAILURE                  = HEARTBEAT_ERROR_BASE,     ERROR_HEARTBEAT_NO_ACTIVE_PURCHASE_AGREEMENT            = HEARTBEAT_ERROR_BASE - 1,     ERROR_HEARTBEAT_CONCURRENT_PLAYBACK                     = HEARTBEAT_ERROR_BASE - 2,     ERROR_HEARTBEAT_UNUSUAL_ACTIVITY                        = HEARTBEAT_ERROR_BASE - 3,     ERROR_HEARTBEAT_STREAMING_UNAVAILABLE                   = HEARTBEAT_ERROR_BASE - 4,     ERROR_HEARTBEAT_CANNOT_ACTIVATE_RENTAL                  = HEARTBEAT_ERROR_BASE - 5,     ERROR_HEARTBEAT_TERMINATE_REQUESTED                     = HEARTBEAT_ERROR_BASE - 6, };  }  // namespace android  #endif  // MEDIA_ERRORS_H_ 


回答3:

I got this error: setDataSource failed: status = 0xFFFFFFEA because the file does not exist on my device.



回答4:

I'm catch this error when my audio file was brocken, it solved when I change file, you can try manually set different sources paths



标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!