更改频道网址时遇到问题。
MainActivity.java
-----------------------------
rvChannelList.post(new Runnable() {
@Override
public void run() {
mPlayerView.load(((ChannelListAdapter) rvChannelList.getAdapter()).getPlaylistItems());
}
});
rvChannelList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
mPlayerView.playlistItem(position);
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
ChannelListAdapter.java
-----------------------------
public ChannelListAdapter(Context context) {
this.context = context;
channels = Realm.getDefaultInstance().where(Channel.class).findAll();
channels.addChangeListener(new RealmChangeListener<RealmResults<Channel>>() {
@Override
public void onChange(RealmResults<Channel> channels) {
notifyDataSetChanged();
}
});
for (Channel channel : channels) {
playlistItems.add(
new PlaylistItem.Builder()
.file(channel.getStreaming_url())
.mediaDrmCallback(new HomeActivity.WidevineMediaDrmCallback())
.description("")
.build());
}
}
public List<PlaylistItem> getPlaylistItems(){
return playlistItems;
}
main_activity.xml
----------------------------
<com.longtailvideo.jwplayer.JWPlayerView
xmlns:jwp="http://schemas.android.com/apk/lib/com.longtailvideo.jwplayer"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.6"
android:id="@+id/mPlayerView"
android:layout_margin="20dp"
app:jw_stretching="fill"
jwp:jw_autostart="false"/>
致命的例外:主要 过程:PID:14627 java.lang.ArrayIndexOutOfBoundsException:length = 12;指数= -1 at java.util.ArrayList.get(ArrayList.java:310) 在com.longtailvideo.jwplayer.c.e $ 1.onRenderedFirstFrame(SourceFile:323) 在com.google.android.exoplayer2.SimpleExoPlayer $ ComponentListener.onRenderedFirstFrame(SourceFile:974) 在com.google.android.exoplayer2.video.VideoRendererEventListener $ EventDispatcher $ 6.run(SourceFile:209) 在android.os.Handler.handleCallback(Handler.java:739) 在android.os.Handler.dispatchMessage(Handler.java:95) 在android.os.Looper.loop(Looper.java:148) 在android.app.ActivityThread.main(ActivityThread.java:5422) at java.lang.reflect.Method.invoke(Native Method) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:726) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)