搭建直播间
更新时间: 2022/10/31 07:24:29
本文介绍通过 NERoom 搭建直播间的操作方法。
注意事项
-
需要在控制台配置模板。
-
模板需要配置直播功能。
主播端
步骤一 初始化 SDK
String appKey="your app key";
HashMap extras=new HashMap<>();
extras.put("serverUrl","test");
NERoomKit.getInstance().initialize(this, new NERoomKitOptions(appKey,), new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤二 Token 认证
NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
String account="your account";
String token="your token";
authService.login(account, token, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤三 创建房间
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
String roomUuid="123";
String roomName="roomName";
String templateId="21";
NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
NECreateRoomOptions options = new NECreateRoomOptions();
roomService.createRoom(params, options, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤四 进入房间
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
String roomUuid="123";
String roomName="roomName";
String templateId="21";
NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
NECreateRoomOptions options = new NECreateRoomOptions();
roomService.createRoom(params, options, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤五 开始推流
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext("");
if (roomContext!=null){
NERoomLiveStreamTaskInfo taskInfo=new NERoomLiveStreamTaskInfo();
roomContext.getRtcController().addLiveStreamTask(taskInfo, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
}
观众端
步骤一 初始化 SDK
String appKey="your app key";
HashMap extras=new HashMap<>();
extras.put("serverUrl","test");
NERoomKit.getInstance().initialize(this, new NERoomKitOptions(appKey,), new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤二 Token认证
NEAuthService authService = NERoomKit.getInstance().getService(NEAuthService.class);
String account="your account";
String token="your token";
authService.login(account, token, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤三 进入房间
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
String roomUuid="123";
String roomName="roomName";
String templateId="21";
NECreateRoomParams params=new NECreateRoomParams(roomUuid,roomName,templateId,null);
NECreateRoomOptions options = new NECreateRoomOptions();
roomService.createRoom(params, options, new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
步骤四 拉流
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext!=null){
String streamUrl=roomContext.getLive().getPullRtmpUrl();
// 可集成音视频SDK进行播放,具体参考https://doc.yunxin.163.com/docs/jY3NDM4Nzc/jgyNzg2NzY?platformId=100002
}
此文档是否对你有帮助?