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,7 +37,7 @@
37 <ConfirmationsSetting value="0" id="Add" /> 37 <ConfirmationsSetting value="0" id="Add" />
38 <ConfirmationsSetting value="0" id="Remove" /> 38 <ConfirmationsSetting value="0" id="Remove" />
39 </component> 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 <output url="file://$PROJECT_DIR$/build/classes" /> 41 <output url="file://$PROJECT_DIR$/build/classes" />
42 </component> 42 </component>
43 <component name="ProjectType"> 43 <component name="ProjectType">
app/build.gradle
@@ -4,7 +4,7 @@ android { @@ -4,7 +4,7 @@ android {
4 compileSdkVersion 24 4 compileSdkVersion 24
5 buildToolsVersion "24.0.3" 5 buildToolsVersion "24.0.3"
6 defaultConfig { 6 defaultConfig {
7 - applicationId "com.cnlive.demo.video" 7 + applicationId "com.cnlive.demo.videoqn"
8 minSdkVersion 16 8 minSdkVersion 16
9 targetSdkVersion 24 9 targetSdkVersion 24
10 versionCode 1 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 import android.content.Context; 3 import android.content.Context;
4 import android.support.test.InstrumentationRegistry; 4 import android.support.test.InstrumentationRegistry;
app/src/main/AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 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 <uses-permission android:name="android.permission.INTERNET" /> 5 <uses-permission android:name="android.permission.INTERNET" />
6 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 6 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
@@ -9,25 +9,25 @@ @@ -9,25 +9,25 @@
9 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 9 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
10 10
11 <application 11 <application
12 - android:name=".VideoApplication" 12 + android:name="com.cnlive.demo.videoqn.VideoApplication"
13 android:allowBackup="true" 13 android:allowBackup="true"
14 android:icon="@mipmap/ic_launcher" 14 android:icon="@mipmap/ic_launcher"
15 android:label="@string/app_name" 15 android:label="@string/app_name"
16 android:supportsRtl="true" 16 android:supportsRtl="true"
17 android:theme="@style/AppTheme"> 17 android:theme="@style/AppTheme">
18 - <activity android:name=".MainActivity"> 18 + <activity android:name="com.cnlive.demo.videoqn.MainActivity">
19 <intent-filter> 19 <intent-filter>
20 <action android:name="android.intent.action.MAIN" /> 20 <action android:name="android.intent.action.MAIN" />
21 21
22 <category android:name="android.intent.category.LAUNCHER" /> 22 <category android:name="android.intent.category.LAUNCHER" />
23 </intent-filter> 23 </intent-filter>
24 </activity> 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 </application> 31 </application>
32 32
33 </manifest> 33 </manifest>
34 \ No newline at end of file 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 import android.content.Context; 3 import android.content.Context;
4 import android.media.AudioManager; 4 import android.media.AudioManager;
@@ -12,7 +12,7 @@ import android.util.Log; @@ -12,7 +12,7 @@ import android.util.Log;
12 import android.view.View; 12 import android.view.View;
13 import android.widget.Toast; 13 import android.widget.Toast;
14 14
15 -import com.cnlive.demo.video.utils.Utils; 15 +import com.cnlive.demo.videoqn.utils.Utils;
16 import com.cnlive.libs.lib_cnvideo.base.IAVOptions; 16 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
17 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer; 17 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
18 import com.cnlive.libs.lib_cnvideo.player.AVOptions; 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 import android.content.Context; 3 import android.content.Context;
4 import android.media.AudioManager; 4 import android.media.AudioManager;
@@ -15,13 +15,11 @@ import android.view.View; @@ -15,13 +15,11 @@ import android.view.View;
15 import android.widget.FrameLayout; 15 import android.widget.FrameLayout;
16 import android.widget.Toast; 16 import android.widget.Toast;
17 17
18 -import com.cnlive.demo.video.utils.Utils; 18 +import com.cnlive.demo.videoqn.utils.Utils;
19 import com.cnlive.libs.lib_cnvideo.base.IAVOptions; 19 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
20 -import com.cnlive.libs.lib_cnvideo.base.IDataSource;  
21 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer; 20 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
22 import com.cnlive.libs.lib_cnvideo.player.AVOptions; 21 import com.cnlive.libs.lib_cnvideo.player.AVOptions;
23 import com.cnlive.libs.lib_cnvideo.player.MediaPlayer; 22 import com.cnlive.libs.lib_cnvideo.player.MediaPlayer;
24 -import com.cnlive.libs.util.Config;  
25 23
26 import java.io.IOException; 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 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.os.Handler; 4 import android.os.Handler;
@@ -8,8 +8,8 @@ import android.view.View; @@ -8,8 +8,8 @@ import android.view.View;
8 import android.widget.ImageView; 8 import android.widget.ImageView;
9 import android.widget.Toast; 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 import com.cnlive.libs.lib_cnvideo.base.IAVOptions; 13 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
14 import com.cnlive.libs.lib_cnvideo.base.ICNVideoTextureView; 14 import com.cnlive.libs.lib_cnvideo.base.ICNVideoTextureView;
15 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer; 15 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
@@ -87,6 +87,7 @@ public class CNVideoTextureActivity extends VideoPlayerBaseActivity { @@ -87,6 +87,7 @@ public class CNVideoTextureActivity extends VideoPlayerBaseActivity {
87 87
88 mVideoView.setOnCompletionListener(mOnCompletionListener); 88 mVideoView.setOnCompletionListener(mOnCompletionListener);
89 mVideoView.setOnErrorListener(mOnErrorListener); 89 mVideoView.setOnErrorListener(mOnErrorListener);
  90 + mVideoView.setOnPreparedListener(onPreparedListener);
90 91
91 mVideoView.setVideoPath(mVideoPath); 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 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.os.Handler; 4 import android.os.Handler;
@@ -9,15 +9,14 @@ import android.view.View; @@ -9,15 +9,14 @@ import android.view.View;
9 import android.widget.ImageView; 9 import android.widget.ImageView;
10 import android.widget.Toast; 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 import com.cnlive.libs.lib_cnvideo.base.IAVOptions; 15 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
15 -import com.cnlive.libs.lib_cnvideo.base.IDataSource;  
16 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer; 16 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
17 import com.cnlive.libs.lib_cnvideo.base.IVideoView; 17 import com.cnlive.libs.lib_cnvideo.base.IVideoView;
18 import com.cnlive.libs.lib_cnvideo.player.AVOptions; 18 import com.cnlive.libs.lib_cnvideo.player.AVOptions;
19 import com.cnlive.libs.lib_cnvideo.player.widget.CNVideoView; 19 import com.cnlive.libs.lib_cnvideo.player.widget.CNVideoView;
20 -import com.cnlive.libs.util.Config;  
21 20
22 /** 21 /**
23 * This is a demo activity of PLVideoView 22 * This is a demo activity of PLVideoView
@@ -90,22 +89,7 @@ public class CNVideoViewActivity extends VideoPlayerBaseActivity { @@ -90,22 +89,7 @@ public class CNVideoViewActivity extends VideoPlayerBaseActivity {
90 mVideoView.setVideoPath(mVideoPath); 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 // You can also use a custom `MediaController` widget 94 // You can also use a custom `MediaController` widget
111 mMediaController = new MediaController(this, false, isLiveStreaming == 1); 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 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Intent; 4 import android.content.Intent;
@@ -13,8 +13,6 @@ import android.widget.TextView; @@ -13,8 +13,6 @@ import android.widget.TextView;
13 13
14 import com.cnlive.libs.lib_cnvideo.NetworkManager; 14 import com.cnlive.libs.lib_cnvideo.NetworkManager;
15 15
16 -import java.net.UnknownHostException;  
17 -  
18 public class MainActivity extends AppCompatActivity { 16 public class MainActivity extends AppCompatActivity {
19 17
20 private static final String DEFAULT_TEST_URL = "rtmp://live.hkstv.hk.lxdns.com/live/hks"; 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 import android.app.Application; 3 import android.app.Application;
4 4
@@ -12,6 +12,6 @@ public class VideoApplication extends Application{ @@ -12,6 +12,6 @@ public class VideoApplication extends Application{
12 @Override 12 @Override
13 public void onCreate() { 13 public void onCreate() {
14 super.onCreate(); 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 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Context; 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 import android.os.Build; 3 import android.os.Build;
4 import android.os.Bundle; 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 import android.content.Intent; 3 import android.content.Intent;
4 import android.content.pm.ActivityInfo; 4 import android.content.pm.ActivityInfo;
@@ -12,8 +12,8 @@ import android.view.WindowManager; @@ -12,8 +12,8 @@ import android.view.WindowManager;
12 import android.widget.Button; 12 import android.widget.Button;
13 import android.widget.Toast; 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 import com.cnlive.libs.lib_cnvideo.base.IAVOptions; 17 import com.cnlive.libs.lib_cnvideo.base.IAVOptions;
18 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer; 18 import com.cnlive.libs.lib_cnvideo.base.IMediaPlayer;
19 import com.cnlive.libs.lib_cnvideo.base.Util; 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 import android.content.Context; 3 import android.content.Context;
4 import android.net.ConnectivityManager; 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 import android.annotation.TargetApi; 3 import android.annotation.TargetApi;
4 import android.content.Context; 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 import android.annotation.SuppressLint; 3 import android.annotation.SuppressLint;
4 import android.content.Context; 4 import android.content.Context;
app/src/main/res/layout/activity_video_view.xml
@@ -4,7 +4,7 @@ @@ -4,7 +4,7 @@
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="@color/background_material_light"> 5 android:background="@color/background_material_light">
6 6
7 - <com.cnlive.demo.video.widget.AspectLayout 7 + <com.cnlive.demo.videoqn.widget.AspectLayout
8 android:id="@+id/aspect_layout" 8 android:id="@+id/aspect_layout"
9 android:layout_width="match_parent" 9 android:layout_width="match_parent"
10 android:layout_height="match_parent"> 10 android:layout_height="match_parent">
@@ -18,7 +18,7 @@ @@ -18,7 +18,7 @@
18 android:layout_alignParentRight="true" 18 android:layout_alignParentRight="true"
19 android:layout_alignParentTop="true" 19 android:layout_alignParentTop="true"
20 android:layout_centerInParent="true" /> 20 android:layout_centerInParent="true" />
21 - </com.cnlive.demo.video.widget.AspectLayout> 21 + </com.cnlive.demo.videoqn.widget.AspectLayout>
22 22
23 <Button 23 <Button
24 android:id="@+id/back_btn" 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 import org.junit.Test; 3 import org.junit.Test;
4 4
doc/Android播放文档.pdf 0 → 100644
No preview for this file type