在《暴风云视频平台SDK使用介绍(三)-- 视频播放(IOS)》中,介绍了如何使用IOS平台的播放SDK快速构建一个APP,实现视频点播的功能。在本篇中,我们来看看使用暴风云视频提供的Android平台的播放SDK,实现视频点播是否同样简单。

下载SDK
访问暴风云视频平台 www.baofengcloud.com 的 API&SDK 页面,通过“资源下载->SDK->点播”,找到SDK for Java (Android客户端)下载SDK( 直通车 )。  
下载解压后,player文件夹下就是我们需要的播放器的SDK了。

获取一个已上传视频的播放信息
先准备一个点播视频的移动设备代码用来播放,获取方法此前的文章已经介绍过:
    先注册一个暴风云视频的帐号( 点此注册 ),然后使用上传工具上传一个点播视频,如何上传请参考《 暴风云视频平台SDK使用介绍(二)-- 文件上传 》
    上传成功后,在暴风云视频首页进入“管理中心”,从“点播”类目下点击“进入点播视频中心”,进入页面可以找到发布成功的视频,点击“操作”下面的“代码”,找到“移动设备代码”并复制就得到了我们需要的视频播放信息。

开发准备
1. 打开Eclipse,创建一个Android Application Project。

2. 将SDK包中player文件夹下libs文件夹中的内容拷贝到新建工程目录下的libs文件夹中。

3. 将SDK包中player文件夹下res文件夹中的内容拷贝到新建工程目录下的res文件夹中。

示例:
1. 在下载的SDK包中,test文件夹下的MainActivity.java文件已经演示了如何使用暴风云视频提供的Android SDK播放一个点播视频。

  1. package com.example.bfcloudplayertest;
  2. import android.app.Activity;
  3. import android.os.Bundle;
  4. import android.view.Menu;
  5. import android.view.MenuItem;
  6. import bf.cloud.android.playutils.VodPlayer;
  7. import bf.cloud.android.base.BFYunApplication;
  8. public class MainActivity extends Activity {
  9. @Override
  10. protected void onCreate(Bundle savedInstanceState) {
  11. super.onCreate(savedInstanceState);
  12. setContentView(R.layout.activity_main);
  13. BFYunApplication.createInstance();
  14. BFYunApplication.getInstance().setApp(this.getApplication());
  15. String url = "servicetype=1&uid=5160405&fid=030C483167212379318E2F2906D7A3AD";
  16. String token = "";
  17. boolean autoPlay = true;
  18. String videoName = "";
  19. VodPlayer.play(this, url, token, autoPlay, videoName);
  20. }
  21. @Override
  22. public boolean onCreateOptionsMenu(Menu menu) {
  23. // Inflate the menu; this adds items to the action bar if it is present.
  24. getMenuInflater().inflate(R.menu.main, menu);
  25. return true;
  26. }
  27. @Override
  28. public boolean onOptionsItemSelected(MenuItem item) {
  29. // Handle action bar item clicks here. The action bar will
  30. // automatically handle clicks on the Home/Up button, so long
  31. // as you specify a parent activity in AndroidManifest.xml.
  32. int id = item.getItemId();
  33. if (id == R.id.action_settings) {
  34. return true;
  35. }
  36. return super.onOptionsItemSelected(item);
  37. }
  38. }

复制代码

代码片段中的url就是前面我们得到的视频播放信息。可以按照示例代码修改新建工程的MainActivity.java。

2. 修改新建工程的AndroidManifest.xml,添加一些应用程序访问权限和一个activity:VideoPlayerActivity。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.bfcloudplayerdemo"
  4. android:versionCode="1"
  5. android:versionName="1.0" >
  6. <uses-sdk
  7. android:minSdkVersion="14"
  8. android:targetSdkVersion="21" />
  9. <uses-permission android:name="android.permission.INTERNET" />
  10. <uses-permission android:name="android.permission.READ_PHONE_STATE" />
  11. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
  12. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  13. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
  14. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  15. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
  16. <uses-permission android:name="android.permission.WRITE_SETTINGS" />
  17. <uses-permission android:name="android.permission.GET_TASKS" />
  18. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
  19. <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
  20. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
  21. <uses-permission android:name="android.permission.VIBRATE" />
  22. <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
  23. <uses-permission android:name="android.permission.WAKE_LOCK"/>
  24. <application
  25. android:allowBackup="true"
  26. android:icon="@drawable/ic_launcher"
  27. android:label="@string/app_name"
  28. android:theme="@style/AppTheme" >
  29. <activity
  30. android:name="com.example.bfcloudplayerdemo.MainActivity"
  31. android:label="@string/app_name" >
  32. <intent-filter>
  33. <action android:name="android.intent.action.MAIN" />
  34. <category android:name="android.intent.category.LAUNCHER" />
  35. </intent-filter>
  36. </activity>
  37. <activity
  38. android:name="bf.cloud.android.activities.VideoPlayerActivity"
  39. android:configChanges="orientation|keyboardHidden|screenSize"
  40. android:label="@string/app_name"
  41. android:launchMode="singleTask"
  42. android:theme="@android:style/Theme.NoTitleBar" />
  43. </application>
  44. </manifest>

复制代码

运行,看下劳动成果:

暴风云视频平台SDK使用介绍(四)-- 视频播放(Android)相关推荐

  1. 暴风云视频平台SDK使用介绍(五)-- 文件上传(进阶)

    在 <暴风云视频平台SDK使用介绍(二)> 里,我们简单介绍了如何使用C# SDK上传文件.上文介绍的方法,虽然很简单,但也存在一些问题,比如 1. 不能断点续传,如果中途断开,下次还得继 ...

  2. 暴风云视频平台SDK使用介绍(二)-- 文件上传

    在 上一篇文章 里,我们对暴风云视频平台进行了简要概述.下面这篇文章里,我们将基于C# SDK来介绍文件的上传. 文件上传 注册帐号 如果还没有注册暴风云视频账号,先去免费注册一个. 下载SDK 访问 ...

  3. 暴风云视频平台SDK使用介绍(一)-- 概述

    暴风影音推出了自己的 云视频平台 ,提供了视频存贮,转码以及播放等服务,你可以借助这个平台创建自己的视频应用. 我们将通过一系列文章对此进行介绍 概述 文件上传 网页播放 手机播放 概述 为什么要使用 ...

  4. 暴风云视频平台点播SDK使用介绍(三)-- 视频播放(IOS)

    本教程介绍使用暴风云视频 IOS平台 播放器的SDK,快速构建一个视频点播功能的APP. 下载SDK 访问暴风云视频平台官方网站的SDK页面,进入一站式视频点播,找到SDK for Objective ...

  5. 暴风云视频sdk源码分享

    目前暴风云视频官网已经放出了部分语言的sdk工具源码,方便大家的查看和使用 地址:https://github.com/baofengcloud 目前已经支持并开放的语言有C#, GO,其他语言的sd ...

  6. 基于EasyDarwin云视频平台的幼儿园视频直播(手机直播/微信直播)解决方案

    一.方案介绍 1.1.方案背景 在2016年10月25日至28日的安博会上,我们看到了不少的幼教平台厂商,我们注意到大部分的幼教平台,为了追求极佳的用户体验,在微信或者APP端能够做到极快的打开速度, ...

  7. 开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的

    开源流媒体云视频平台EasyDarwin中EasyCMS服务是如何进行命令转发和消息路由的 EasyCMS介绍 EasyCMS做为EasyDarwin开源流媒体云平台解决方案的一部分,主要进行的是设备 ...

  8. 构建云视频平台的七种武器分别包括长生剑、孔雀翎、碧玉刀、多情环、离别钩、霸王枪、拳头,这七种武器分别对应的是什么技术呢?该文将揭晓答案。

    云视频平台的七种武器 构建云视频平台的七种武器分别包括长生剑.孔雀翎.碧玉刀.多情环.离别钩.霸王枪.拳头,这七种武器分别对应的是什么技术呢?该文档将揭晓答案.

  9. 实现安卓直播-第三方平台(暴风云视频直播)

    鉴于现在好多的直播平台都是收费的,个人开发学习倍感坑爹,暂时发现暴风云的免费试用挺好的,就简单测试了下.顺便记录下过程. 1.申请帐号:http://www.baofengcloud.com/user ...

最新文章

  1. Android之多Activity一次性退出
  2. 人生的意义—我们为什么活着?
  3. java获取文件视图_springmvc-直接访问视图文件
  4. 什么叫python代码的优化_优化Python代码
  5. centos mysql无法启动 sock_linux下mysql无法启动的解决方法
  6. php逻辑分析,PHP – 字符串逻辑分析 – “X和Y或Z”
  7. K3C官改固件更新frp客户端
  8. HTML——使用表格制作个人简历
  9. MSF给正常程序添加后门
  10. 术语:游戏机制(Game Mechanics)
  11. 教你如何拍好人像摄影
  12. python画人脸编程怎么写_如何在Python(GUI)中绘制人脸
  13. LTE中 IMEI, GUTI, IMSI,S-TMSI等符号的含义
  14. 浅谈DNS域名解析的过程
  15. java 年轻代算法_java内存模型 年轻代/年老代 持久区,jvm中的年轻代 老年代 持久代 gc...
  16. 关于计算机与教育的英语作文,信息技术对教育的影响英文作文
  17. 英特尔i9或重燃核心大战 VR淡出电脑展
  18. js(Mandango:壮汉专用,电影院划位工具)
  19. 关于典型二阶系统固有频率
  20. go 语言 beego

热门文章

  1. 密码暴利破解工具Hydra(海德拉)使用详解
  2. 机器学习识别系统的度量指标
  3. 教你成为婚礼上最闪耀的明星
  4. c语言随机选几个球,WebAssembly Demo之Canvas中随机运动圆球
  5. Inventor之入门
  6. 【新版】Inventor二次开发学习指南
  7. TinkerBoard-S 疑难杂症汇总(持续更新)
  8. 解决Abaqus有限元分析不收敛的6条建议
  9. 实时帧数手机_旧手机实用改造:秒变PC游戏帧数监测神器
  10. Linux kafka安装