1 // Copyright (c) 2014 Intel Corporation. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 package org.xwalk.core.internal;
7 import android.content.Context;
8 import android.content.res.AssetFileDescriptor;
9 import android.media.MediaPlayer;
10 import android.net.Uri;
12 import org.chromium.media.MediaPlayerBridge;
15 import java.util.HashMap;
16 import java.util.List;
19 * This class inherits from MediaPlayerBridge.ResourceLoadingFilter to
20 * customize the resource loading process in xwalk.
23 class XWalkMediaPlayerResourceLoadingFilter extends
24 MediaPlayerBridge.ResourceLoadingFilter {
26 public boolean shouldOverrideResourceLoading(MediaPlayer mediaPlayer,
27 Context context, Uri uri) {
28 if (uri.getScheme().equals(AndroidProtocolHandler.APP_SCHEME)) {
29 uri = AndroidProtocolHandler.appUriToFileUri(uri);
32 String scheme = uri.getScheme();
34 if (!scheme.equals(AndroidProtocolHandler.FILE_SCHEME)) return false;
37 AssetFileDescriptor afd =
38 context.getAssets().openFd(AndroidProtocolHandler.getAssetPath(uri));
39 mediaPlayer.setDataSource(
40 afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
43 } catch (Exception e) {