一、依赖
//弹幕 compile 'com.linsea:opendanmaku:1.0.0@aar' //节操播放器 compile 'fm.jiecao:jiecaovideoplayer:5.5' compile 'com.github.bumptech.glide:glide:3.7.0'//根据自己的喜好,使用图片加载框架
二、布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <!--弹幕--> <RelativeLayout android:id="@+id/relativelayout_danmu" android:layout_width="match_parent" android:layout_height="300dp"> <fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard android:id="@+id/videoplayer" android:layout_width="340dp" android:layout_height="200dp" android:layout_margin="10dp"> </fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard> <com.opendanmaku.DanmakuView android:id="@+id/danmakuView" android:layout_width="340dp" android:layout_height="200dp" android:layout_margin="10dp" app:start_Y_offset="0.2" app:end_Y_offset="0.8" app:max_row="4" app:max_running_per_row="2" app:pick_interval="1000" app:show_debug="false" android:alpha="10" /> </RelativeLayout> <LinearLayout android:layout_below="@+id/relativelayout_danmu" android:layout_width="match_parent" android:orientation="horizontal" android:layout_height="wrap_content" tools:ignore="NotSibling"> <EditText android:focusable="true" android:id="@+id/et" android:layout_width="0dp" android:singleLine="true" android:layout_weight="3" android:layout_height="wrap_content" android:textColor="#ff3660" android:hint="请输入弹幕内容" /> <Button android:text="发送弹幕" android:layout_weight="1" android:layout_width="0dp" android:id="@+id/bt" android:layout_height="wrap_content" /> <!-- <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="夜间模式" android:id="@+id/yejian"/>--> </LinearLayout> </RelativeLayout>
三、代码
MainActivity
import android.graphics.Bitmap; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.opendanmaku.DanmakuItem; import com.opendanmaku.DanmakuView; import java.util.ArrayList; import java.util.List; import fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard; public class MainActivity extends AppCompatActivity { private EditText et; private Button bt; private String ettext; private DanmakuView mDanmakuView; private JCVideoPlayerStandard jcVideoPlayerStandard; private ImageView mImageView; private List<Bitmap> mList=new ArrayList<Bitmap>(); private int mIndex = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* * 弹幕 * */ et = (EditText) findViewById(R.id.et); bt = (Button) findViewById(R.id.bt); mDanmakuView = (DanmakuView) findViewById(R.id.danmakuView); jcVideoPlayerStandard = (JCVideoPlayerStandard) findViewById(R.id.videoplayer); jcVideoPlayerStandard.setUp("http://ssb-video.oss-cn-qingdao.aliyuncs.com/Video_1003_20161027140007.mp4" , JCVideoPlayerStandard.SCREEN_LAYOUT_NORMAL, "播放视频的标题,可以为空"); Glide.with(getApplicationContext()).load("http://p.qpic.cn/videoyun/0/2449_43b6f696980311e59ed467f22794e792_1/640").into(jcVideoPlayerStandard.thumbImageView); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ettext = et.getText().toString(); mDanmakuView.addItem(new DanmakuItem(MainActivity.this, ettext, mDanmakuView.getWidth())); } }); mDanmakuView.show(); } @Override protected void onDestroy() { super.onDestroy(); if(mList != null){ mList.clear(); mList = null; } } }