0

私はJavaやAndroidの開発に慣れていません(昨日から読み始めてください)。特定の URL で videoview を呼び出し、いくつかのヘッダーを渡したいと思います。私はウェブを検索し、この方法を見つけました:

 package com.example.teste;

 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.util.HashMap;
 import java.util.Map;

 import android.app.Activity;
 import android.content.Context;
 import android.net.Uri;
 import android.os.Bundle;
 import android.widget.MediaController;
 import android.widget.VideoView;

 public class MainActivity extends Activity {


    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Uri uri = Uri.parse("http://s2.ratotv.com/magic/4866/1.mp4");
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("Host", "ratotv.com");
        headers.put("Referer", "http://www.ratotv.net/movies/1038-kick-ass-2-agora-a-doer.html");

        VideoView myVideoView = (VideoView)findViewById(R.id.myvideoview);
        // Use java reflection call the hide API:
        Method method;
     try {
         method = myVideoView.getClass().getMethod("setDataSource", new Class[] { Context.class, Uri.class, Map.class });
         method.invoke(myVideoView, new Object[] {this, uri, headers});
         myVideoView.start();
} catch (IllegalAccessException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IllegalArgumentException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (InvocationTargetException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (NoSuchMethodException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
 }
}

ただし、ビデオの再生は開始されません。

どんな助けでも非常に高く評価されます。

4

0 に答える 0