wseemann / FFmpegMediaMetadataRetriever

FFmpegMediaMetadataRetriever provides a unified interface for retrieving frame and meta data from an input media file.
1.72k stars 387 forks source link

couldn't find "libavutil.so" on Android 8.0 (Oreo) #196

Open fazalBykea opened 5 years ago

fazalBykea commented 5 years ago

Facing an exception in Android 8.0 (Oreo) audio duration retrieval. Here is my code snippet which is working below android 8.0 (Oreo).

   /**
     * Fetch voice duration by using Media Meta data retriever
     *
     */
    private long getDuration(String path) {
        try {
            FFmpegMediaMetadataRetriever mediaMetadataRetriever =
                    new FFmpegMediaMetadataRetriever();
            mediaMetadataRetriever.setDataSource(path);
            String duration = mediaMetadataRetriever.extractMetadata(
                    FFmpegMediaMetadataRetriever.METADATA_KEY_DURATION);
            long durationVoice = Long.parseLong(duration) / 1000;
            return durationVoice;
        } catch (NumberFormatException e) {
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        }
        return 0;
    }

In Android 8.0 (Oreo) Facing an Exception

.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]] couldn't find "libavutil.so"
        at java.lang.Runtime.loadLibrary0(Runtime.java:1011)
        at java.lang.System.loadLibrary(System.java:1657)
        at wseemann.media.FFmpegMediaMetadataRetriever.<clinit>(FFmpegMediaMetadataRetriever.java:120)
        at com.bykeapk.chatmodule.ui.helpers.adapters.ChatAdapter.getDuration(ChatAdapter.java:268)
        at com.bykeapk.chatmodule.ui.helpers.adapters.ChatAdapter.onBindViewHolder(ChatAdapter.java:126)
        at com.bykeapk.chatmodule.ui.helpers.adapters.ChatAdapter.onBindViewHolder(ChatAdapter.java:39)
        at android.support.v7.widget.RecyclerView$Adapter.onBindViewHolder(RecyclerView.java:6673)
        at android.support.v7.widget.RecyclerView$Adapter.bindViewHolder(RecyclerView.java:6714)
        at android.support.v7.widget.RecyclerView$Recycler.tryBindViewHolderByDeadline(RecyclerView.java:5647)
        at android.support.v7.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:5913)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5752)
        at android.support.v7.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:5748)
        at android.support.v7.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2232)
2018-10-29 11:25:04.227 10672-10672/com.bykea.pk.partner E/AndroidRuntime:     at android.support.v7.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1559)
Purvik commented 5 years ago

@fazalBykea @wseemann Did you solve this issue? We're having same for OnePlus or you can say arm64-v8a architecture devices. Any help will be appreciated.