IJKPlayer是Bilibili开源的一个媒体播放库,一款做视频直播的框架, 基于ffmpeg, 支持 Android 和 iOS, 网上也有很多集成说明, 但是个人觉得还是不够详细, 在这里详细的讲一下在 iOS 中如何集成ijkplayer, 即便以前从没有接触过, 按着下面做也可以集成成功!
在mainactivity布局里
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="20dp">
<tv.danmaku.ijk.media.widget.media.IjkVideoView
android:id="@+id/ijkPlayer"
android:layout_width="match_parent"
android:layout_height="300dp"/>
</RelativeLayout>
在values目录下创建dimens.xml
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
重点来了:mainactivity
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import tv.danmaku.ijk.media.player.IjkMediaPlayer;
import tv.danmaku.ijk.media.widget.media.AndroidMediaController;
import tv.danmaku.ijk.media.widget.media.IjkVideoView;
public class MainActivity extends AppCompatActivity {
IjkVideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//播放视频
IjkMediaPlayer.loadLibrariesOnce(null);
IjkMediaPlayer.native_profileBegin("libijkplayer.so");
videoView = (IjkVideoView) findViewById(R.id.ijkPlayer);
AndroidMediaController controller=new AndroidMediaController(this,false);
videoView.setMediaController(controller);
String url="https://wdl.wallstreetcn.com/41aae4d2-390a-48ff-9230-ee865552e72d";
videoView.setVideoURI(Uri.parse(url));
videoView.start();
}
public void setOrientation(int orientation) {
if(orientation== ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}else{
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
}
@Override
protected void onPause() {
super.onPause();
videoView.pause();
}
@Override
protected void onDestroy() {
super.onDestroy();
IjkMediaPlayer.native_profileEnd();
}
@Override
protected void onResume() {
super.onResume();
videoView.resume();
}
}
//权限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
//依赖
compile 'com.github.leifzhang:IjkLib:0.4.3'IJKPlayer视频播放
最新推荐文章于 2022-01-27 12:05:01 发布
本文详细介绍如何在iOS应用中集成Bilibili开源的IJKPlayer媒体播放库,包括布局配置、关键代码实现及权限设置等,即使初次接触也能轻松上手。
2万+

被折叠的 条评论
为什么被折叠?



