Commit 934d5f6b9ca025078c028dacf1b880cf21590b8c

Authored by 王琳
1 parent ac138b3a

添加播放SDK文档

Showing 21 changed files with 97 additions and 58 deletions
.idea/misc.xml
... ... @@ -37,7 +37,7 @@
37 37 <ConfirmationsSetting value="0" id="Add" />
38 38 <ConfirmationsSetting value="0" id="Remove" />
39 39 </component>
40   - <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
  40 + <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
41 41 <output url="file://$PROJECT_DIR$/build/classes" />
42 42 </component>
43 43 <component name="ProjectType">
... ...
app/build.gradle
... ... @@ -4,7 +4,7 @@ android {
4 4 compileSdkVersion 24
5 5 buildToolsVersion "24.0.3"
6 6 defaultConfig {
7   - applicationId "com.cnlive.demo.video"
  7 + applicationId "com.cnlive.demo.videoqn"
8 8 minSdkVersion 16
9 9 targetSdkVersion 24
10 10 versionCode 1
... ...
app/src/androidTest/java/com/cnlive/demo/video/ExampleInstrumentedTest.java renamed to app/src/androidTest/java/com/cnlive/demo/videoqn/ExampleInstrumentedTest.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.content.Context;
4 4 import android.support.test.InstrumentationRegistry;
... ...
app/src/main/AndroidManifest.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3   - package="com.cnlive.demo.video">
  3 + package="com.cnlive.demo.videoqn">
4 4  
5 5 <uses-permission android:name="android.permission.INTERNET" />
6 6 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
... ... @@ -9,25 +9,25 @@
9 9 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
10 10  
11 11 <application
12   - android:name=".VideoApplication"
  12 + android:name="com.cnlive.demo.videoqn.VideoApplication"
13 13 android:allowBackup="true"
14 14 android:icon="@mipmap/ic_launcher"
15 15 android:label="@string/app_name"
16 16 android:supportsRtl="true"
17 17 android:theme="@style/AppTheme">
18   - <activity android:name=".MainActivity">
  18 + <activity android:name="com.cnlive.demo.videoqn.MainActivity">
19 19 <intent-filter>
20 20 <action android:name="android.intent.action.MAIN" />
21 21  
22 22 <category android:name="android.intent.category.LAUNCHER" />
23 23 </intent-filter>
24 24 </activity>
25   - <activity android:name=".CNMediaPlayerActivity" />
26   - <activity android:name=".CNAudioPlayerActivity" />
27   - <activity android:name=".CNVideoViewActivity" />
28   - <activity android:name=".CNVideoTextureActivity" />
29   - <activity android:name=".VideoViewActivity" />
30   - <activity android:name=".VideoFileActivity" />
  25 + <activity android:name="com.cnlive.demo.videoqn.CNMediaPlayerActivity" />
  26 + <activity android:name="com.cnlive.demo.videoqn.CNAudioPlayerActivity" />
  27 + <activity android:name="com.cnlive.demo.videoqn.CNVideoViewActivity" />
  28 + <activity android:name="com.cnlive.demo.videoqn.CNVideoTextureActivity" />
  29 + <activity android:name="com.cnlive.demo.videoqn.VideoViewActivity" />
  30 + <activity android:name="com.cnlive.demo.videoqn.VideoFileActivity" />
31 31 </application>
32 32  
33 33 </manifest>
34 34 \ No newline at end of file
... ...
app/src/main/java/com/cnlive/demo/video/CNAudioPlayerActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/CNAudioPlayerActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.content.Context;
4 4 import android.media.AudioManager;
... ... @@ -12,7 +12,7 @@ import android.util.Log;
12 12 import android.view.View;
13 13 import android.widget.Toast;
14 14  
15   -import com.cnlive.demo.video.utils.Utils;
  15 +import com.cnlive.demo.videoqn.utils.Utils;
16 16 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
17 17 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
18 18 import com.cnlive.libs.lib_cnvideo.player.AVOptions;
... ...
app/src/main/java/com/cnlive/demo/video/CNMediaPlayerActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/CNMediaPlayerActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.content.Context;
4 4 import android.media.AudioManager;
... ... @@ -15,13 +15,11 @@ import android.view.View;
15 15 import android.widget.FrameLayout;
16 16 import android.widget.Toast;
17 17  
18   -import com.cnlive.demo.video.utils.Utils;
  18 +import com.cnlive.demo.videoqn.utils.Utils;
19 19 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
20   -import com.cnlive.libs.lib_cnvideo.base.IDataSource;
21 20 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
22 21 import com.cnlive.libs.lib_cnvideo.player.AVOptions;
23 22 import com.cnlive.libs.lib_cnvideo.player.MediaPlayer;
24   -import com.cnlive.libs.util.Config;
25 23  
26 24 import java.io.IOException;
27 25  
... ...
app/src/main/java/com/cnlive/demo/video/CNVideoTextureActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/CNVideoTextureActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.os.Bundle;
4 4 import android.os.Handler;
... ... @@ -8,8 +8,8 @@ import android.view.View;
8 8 import android.widget.ImageView;
9 9 import android.widget.Toast;
10 10  
11   -import com.cnlive.demo.video.utils.Utils;
12   -import com.cnlive.demo.video.widget.MediaController;
  11 +import com.cnlive.demo.videoqn.utils.Utils;
  12 +import com.cnlive.demo.videoqn.widget.MediaController;
13 13 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
14 14 import com.cnlive.libs.lib_cnvideo.base.ICNVideoTextureView;
15 15 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
... ... @@ -87,6 +87,7 @@ public class CNVideoTextureActivity extends VideoPlayerBaseActivity {
87 87  
88 88 mVideoView.setOnCompletionListener(mOnCompletionListener);
89 89 mVideoView.setOnErrorListener(mOnErrorListener);
  90 + mVideoView.setOnPreparedListener(onPreparedListener);
90 91  
91 92 mVideoView.setVideoPath(mVideoPath);
92 93 }
... ...
app/src/main/java/com/cnlive/demo/video/CNVideoViewActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/CNVideoViewActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.os.Bundle;
4 4 import android.os.Handler;
... ... @@ -9,15 +9,14 @@ import android.view.View;
9 9 import android.widget.ImageView;
10 10 import android.widget.Toast;
11 11  
12   -import com.cnlive.demo.video.utils.Utils;
13   -import com.cnlive.demo.video.widget.MediaController;
  12 +import com.cnlive.demo.videoqn.model.ProgramLive;
  13 +import com.cnlive.demo.videoqn.utils.Utils;
  14 +import com.cnlive.demo.videoqn.widget.MediaController;
14 15 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
15   -import com.cnlive.libs.lib_cnvideo.base.IDataSource;
16 16 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
17 17 import com.cnlive.libs.lib_cnvideo.base.IVideoView;
18 18 import com.cnlive.libs.lib_cnvideo.player.AVOptions;
19 19 import com.cnlive.libs.lib_cnvideo.player.widget.CNVideoView;
20   -import com.cnlive.libs.util.Config;
21 20  
22 21 /**
23 22 * This is a demo activity of PLVideoView
... ... @@ -90,22 +89,7 @@ public class CNVideoViewActivity extends VideoPlayerBaseActivity {
90 89 mVideoView.setVideoPath(mVideoPath);
91 90  
92 91 // //播放视讯云视频
93   -// mVideoView.setDataSource(new IDataSource() {
94   -// @Override
95   -// public String getId() {
96   -// return "20161126";
97   -// }
98   -//
99   -// @Override
100   -// public String getType() {
101   -// return Config.TYPE_VOD;
102   -// }
103   -//
104   -// @Override
105   -// public String getRate() {
106   -// return Config.TYPE_PLAY_RATE_2;
107   -// }
108   -// }, false);
  92 +// mVideoView.setDataSource(new ProgramLive(), false);
109 93  
110 94 // You can also use a custom `MediaController` widget
111 95 mMediaController = new MediaController(this, false, isLiveStreaming == 1);
... ...
app/src/main/java/com/cnlive/demo/video/MainActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/MainActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.app.Activity;
4 4 import android.content.Intent;
... ... @@ -13,8 +13,6 @@ import android.widget.TextView;
13 13  
14 14 import com.cnlive.libs.lib_cnvideo.NetworkManager;
15 15  
16   -import java.net.UnknownHostException;
17   -
18 16 public class MainActivity extends AppCompatActivity {
19 17  
20 18 private static final String DEFAULT_TEST_URL = "rtmp://live.hkstv.hk.lxdns.com/live/hks";
... ...
app/src/main/java/com/cnlive/demo/video/VideoApplication.java renamed to app/src/main/java/com/cnlive/demo/videoqn/VideoApplication.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.app.Application;
4 4  
... ... @@ -12,6 +12,6 @@ public class VideoApplication extends Application{
12 12 @Override
13 13 public void onCreate() {
14 14 super.onCreate();
15   - Config.init(this, "60_irn9edco29", "69fe70bda67e059286ad509d9f5377f815955645b52f94");
  15 + Config.init(this, "60_iwoodaqi22", "52b31aebc17b4af7467d25c974b9348accb044d76ff82a");
16 16 }
17 17 }
... ...
app/src/main/java/com/cnlive/demo/video/VideoFileActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/VideoFileActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.app.Activity;
4 4 import android.content.Context;
... ...
app/src/main/java/com/cnlive/demo/video/VideoPlayerBaseActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/VideoPlayerBaseActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.os.Build;
4 4 import android.os.Bundle;
... ...
app/src/main/java/com/cnlive/demo/video/VideoViewActivity.java renamed to app/src/main/java/com/cnlive/demo/videoqn/VideoViewActivity.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import android.content.Intent;
4 4 import android.content.pm.ActivityInfo;
... ... @@ -12,8 +12,8 @@ import android.view.WindowManager;
12 12 import android.widget.Button;
13 13 import android.widget.Toast;
14 14  
15   -import com.cnlive.demo.video.widget.AspectLayout;
16   -import com.cnlive.demo.video.widget.MediaController;
  15 +import com.cnlive.demo.videoqn.widget.AspectLayout;
  16 +import com.cnlive.demo.videoqn.widget.MediaController;
17 17 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
18 18 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
19 19 import com.cnlive.libs.lib_cnvideo.base.Util;
... ...
app/src/main/java/com/cnlive/demo/videoqn/model/ProgramLive.java 0 → 100644
  1 +package com.cnlive.demo.videoqn.model;
  2 +
  3 +import com.cnlive.libs.lib_cnvideo.base.IDataSource;
  4 +import com.cnlive.libs.util.Config;
  5 +
  6 +/**
  7 + * 直播
  8 + * Created by bjwan on 12/14/2016.
  9 + */
  10 +
  11 +public class ProgramLive implements IDataSource{
  12 +
  13 + //返回直播视频ID
  14 + @Override
  15 + public String getId() {
  16 + return "news";
  17 + }
  18 +
  19 + //返回视频类型 live
  20 + @Override
  21 + public String getType() {
  22 + return Config.TYPE_LIVE;
  23 + }
  24 +
  25 + //返回视频码率
  26 + @Override
  27 + public String getRate() {
  28 + return Config.TYPE_PLAY_RATE_2;
  29 + }
  30 +}
... ...
app/src/main/java/com/cnlive/demo/videoqn/model/ProgramVod.java 0 → 100644
  1 +package com.cnlive.demo.videoqn.model;
  2 +
  3 +import com.cnlive.libs.lib_cnvideo.base.IDataSource;
  4 +import com.cnlive.libs.util.Config;
  5 +
  6 +/**
  7 + * Created by bjwan on 12/14/2016.
  8 + */
  9 +
  10 +public class ProgramVod implements IDataSource {
  11 + //返回点播视频ID
  12 + @Override
  13 + public String getId() {
  14 + return "117_0005701481101785734a";
  15 + }
  16 +
  17 + //返回视频类型 vod
  18 + @Override
  19 + public String getType() {
  20 + return Config.TYPE_VOD;
  21 + }
  22 +
  23 + //返回视频码率
  24 + @Override
  25 + public String getRate() {
  26 + return Config.TYPE_PLAY_RATE_2;
  27 + }
  28 +}
... ...
app/src/main/java/com/cnlive/demo/video/utils/Utils.java renamed to app/src/main/java/com/cnlive/demo/videoqn/utils/Utils.java
1   -package com.cnlive.demo.video.utils;
  1 +package com.cnlive.demo.videoqn.utils;
2 2  
3 3 import android.content.Context;
4 4 import android.net.ConnectivityManager;
... ...
app/src/main/java/com/cnlive/demo/video/widget/AspectLayout.java renamed to app/src/main/java/com/cnlive/demo/videoqn/widget/AspectLayout.java
1   -package com.cnlive.demo.video.widget;
  1 +package com.cnlive.demo.videoqn.widget;
2 2  
3 3 import android.annotation.TargetApi;
4 4 import android.content.Context;
... ...
app/src/main/java/com/cnlive/demo/video/widget/MediaController.java renamed to app/src/main/java/com/cnlive/demo/videoqn/widget/MediaController.java
1   -package com.cnlive.demo.video.widget;
  1 +package com.cnlive.demo.videoqn.widget;
2 2  
3 3 import android.annotation.SuppressLint;
4 4 import android.content.Context;
... ...
app/src/main/res/layout/activity_video_view.xml
... ... @@ -4,7 +4,7 @@
4 4 android:layout_height="match_parent"
5 5 android:background="@color/background_material_light">
6 6  
7   - <com.cnlive.demo.video.widget.AspectLayout
  7 + <com.cnlive.demo.videoqn.widget.AspectLayout
8 8 android:id="@+id/aspect_layout"
9 9 android:layout_width="match_parent"
10 10 android:layout_height="match_parent">
... ... @@ -18,7 +18,7 @@
18 18 android:layout_alignParentRight="true"
19 19 android:layout_alignParentTop="true"
20 20 android:layout_centerInParent="true" />
21   - </com.cnlive.demo.video.widget.AspectLayout>
  21 + </com.cnlive.demo.videoqn.widget.AspectLayout>
22 22  
23 23 <Button
24 24 android:id="@+id/back_btn"
... ...
app/src/test/java/com/cnlive/demo/video/ExampleUnitTest.java renamed to app/src/test/java/com/cnlive/demo/videoqn/ExampleUnitTest.java
1   -package com.cnlive.demo.video;
  1 +package com.cnlive.demo.videoqn;
2 2  
3 3 import org.junit.Test;
4 4  
... ...
doc/Android播放文档.pdf 0 → 100644
No preview for this file type