适用于android的Brightcove sdk,示例不起作用

适用于android的Brightcove sdk,示例不起作用,android,brightcove,Android,Brightcove,我正在使用用于android的Brightcove sdk 我在libs文件夹中添加了sdk,并将其添加到依赖项中 我使用的代码是 public class MainActivity extends BrightcovePlayer { //private final String TAG = this.getClass().getSimpleName(); private EventEmitter eventEmitter; // BrightcoveVideoView brightcove

我正在使用用于android的Brightcove sdk

我在libs文件夹中添加了sdk,并将其添加到依赖项中

我使用的代码是

public class MainActivity extends BrightcovePlayer {
//private final String TAG = this.getClass().getSimpleName();

private EventEmitter eventEmitter;
// BrightcoveVideoView brightcoveVideoView;
//private GoogleIMAComponent googleIMAComponent;
private String adRulesURL = "http://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=%2F15018773%2Feverything2&ciu_szs=300x250%2C468x60%2C728x90&impl=s&gdfp_req=1&env=vp&output=xml_vast2&unviewed_position_start=1&url=dummy&correlator=[timestamp]&cmsid=133&vid=10XWSh7W4so&ad_rule=1";

@Override
protected void onCreate(Bundle savedInstanceState) {
    // When extending the BrightcovePlayer, we must assign the BrightcoveVideoView before
    // entering the superclass. This allows for some stock video player lifecycle
    // management.

    setContentView(R.layout.activity_main);
    BrightcoveVideoView brightcoveVideoView = (BrightcoveVideoView) findViewById(R.id.brightcove_video_view);
    super.onCreate(savedInstanceState);
    brightcoveVideoView.add(Video.createVideo("http://solutions.brightcove.com/bcls/assets/videos/Bird_Titmouse.mp4", DeliveryType.MP4));
    brightcoveVideoView.start();
和布局文件

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">

<com.brightcove.player.view.BrightcoveVideoView
    android:id="@+id/brightcove_video_view"
    android:layout_width="match_parent"
    android:layout_height="280dp"
    android:layout_gravity="center_horizontal|center_vertical" />

我得到的错误是

6366-6366/E/AndroidRuntime﹕ FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: com.brightcove.player.R$layout
        at com.brightcove.player.controller.BrightcoveClosedCaptioningController.makeCaptionsDialog(BrightcoveClosedCaptioningController.java:114)
        at com.brightcove.player.controller.BrightcoveClosedCaptioningController.<init>(BrightcoveClosedCaptioningController.java:102)
        at com.brightcove.player.view.BaseVideoView.setEventEmitter(BaseVideoView.java:298)
        at com.brightcove.player.view.BrightcoveVideoView.setEventEmitter(BrightcoveVideoView.java:149)
        at com.brightcove.player.view.BaseVideoView.onFinishInflate(BaseVideoView.java:255)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:747)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274)
        at android.app.Activity.setContentView(Activity.java:1835)
        at com.testproject.myapplication.MainActivity.onCreate(MainActivity.java:50)
        at android.app.Activity.performCreate(Activity.java:4470)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
        at android.app.ActivityThread.access$600(ActivityThread.java:128)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:137)
        at android.app.ActivityThread.main(ActivityThread.java:4517)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:511)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
        at dalvik.system.NativeStart.main(Native Method)
6366-6366/E/AndroidRuntime﹕ 致命异常:主
java.lang.NoClassDefFoundError:com.brightcove.player.R$layout
在com.brightcove.player.controller.BrightcoveClosedCaptioningController.MakeCaptionDialog(BrightcoveClosedCaptioningController.java:114)
位于com.brightcove.player.controller.BrightcoveClosedCaptioningController。(BrightcoveClosedCaptioningController.java:102)
在com.brightcove.player.view.BaseVideoView.setEventEmitter上(BaseVideoView.java:298)
在com.brightcove.player.view.BrightcoveVideoView.setEventEmitter上(BrightcoveVideoView.java:149)
在com.brightcove.player.view.BaseVideoView.onfinishflate上(BaseVideoView.java:255)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:747)
位于android.view.LayoutInflater.rInflate(LayoutInflater.java:742)
在android.view.LayoutInflater.充气(LayoutInflater.java:489)
在android.view.LayoutInflater.inflate(LayoutInflater.java:396)
在android.view.LayoutInflater.充气(LayoutInflater.java:352)
位于com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274)
位于android.app.Activity.setContentView(Activity.java:1835)
位于com.testproject.myapplication.MainActivity.onCreate(MainActivity.java:50)
位于android.app.Activity.performCreate(Activity.java:4470)
位于android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053)
在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934)上
在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)上
在android.app.ActivityThread.access$600(ActivityThread.java:128)
在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
位于android.os.Handler.dispatchMessage(Handler.java:99)
位于android.os.Looper.loop(Looper.java:137)
位于android.app.ActivityThread.main(ActivityThread.java:4517)
位于java.lang.reflect.Method.Invokenactive(本机方法)
位于java.lang.reflect.Method.invoke(Method.java:511)
在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)上
位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
在dalvik.system.NativeStart.main(本机方法)

错误是什么。我不明白。

我们最近添加了对在pre-Kitkat上自定义闭路字幕样式的支持,该对话框需要一些资源,比如布局。这些资源包含在.aar文件中,在使用gradle和Android Studio编译时应使用该文件。androidstudio已经达到1.0,因此我们建议在命令行上使用它或gradle来开发Brightcove SDK。对于遗留Eclipse开发,我们提供遗留JAR,但现在需要资源,您还必须使用apklib文件。SDK apklib文件在4.3.0版本中丢失,但它将包含在下一版本中。如果您无法退出Eclipse,要解除阻止,您应该继续使用4.2.7版本,直到4.3.1发布。

补充这个问题:

注意:现在不推荐支持Android版本2.3.3和4.0。 进一步了解Brightcove为何取消对这些版本的支持 截至2016年1月1日,在本公告中


谢谢,我也做了同样的事情,现在一切正常。。如果你能回答我的另一个问题,那将更有帮助。我们还计划集成Youtube播放器api来播放Youtube视频。在这种情况下,难道不可能在Brightcove player中播放广告,然后导航到youtube播放器吗?(在启动brightcove视频视图之前无法启动广告播放)(我尝试过,比如,我添加了谷歌Ima广告,我没有向播放器添加任何视频,并尝试运行,但没有显示广告,因为没有视频)谢谢@paul Reilly的帮助我收到了相同的错误。你是怎么解决的