Commit d8ca40ab authored by sheteng's avatar sheteng

语音房间 2

parent a86b18f9
......@@ -60,8 +60,8 @@ public class NotificationsFragment extends Fragment {
// Bundle bundle = new Bundle();
// bundle.putLong("channelId", id);
// navController.navigate(R.id.navigation_channel_connect, bundle);
Intent intent = new Intent(getContext(),ConnectChannelActivity.class);
intent.putExtra("channelId",id);
Intent intent = new Intent(getContext(), ConnectChannelActivity.class);
intent.putExtra("channelId", id);
startActivity(intent);
}
......@@ -185,36 +185,49 @@ public class NotificationsFragment extends Fragment {
builder.setTitle("create channel").setIcon(android.R.drawable.ic_dialog_info).setView(linearLayout)
.setNegativeButton("Cancel", null);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String roomId = roomeId.getText().toString();
CCIMClient.getInstance().joinAudioRoom(getContext(), Integer.parseInt(roomId), new AudioRoomListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String roomId = roomeId.getText().toString();
CCIMClient.getInstance().joinAudioRoom(getContext(), Integer.parseInt(roomId), new AudioRoomListener() {
@Override
public void onJoinSuccess() {
ToastUtil.show(getContext(), "onJoinSuccess");
}
public void onJoinSuccess() {
ToastUtil.show(getContext(), "onJoinSuccess");
}
@Override
public void onJoinFailed(int code) {
ToastUtil.show(getContext(), "onJoinFailed" + code);
}
@Override
public void onJoinFailed(int code) {
ToastUtil.show(getContext(), "onJoinFailed" + code);
}
@Override
public void onExit() {
ToastUtil.show(getContext(), "onExit");
}
@Override
public void onExit() {
ToastUtil.show(getContext(), "onExit");
}
@Override
public void onError(int code) {
ToastUtil.show(getContext(), "onError");
}
});
@Override
public void onError(int code) {
ToastUtil.show(getContext(), "onError");
}
});
}
});
builder.show();
}
});
binding.disableAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CCIMClient.getInstance().setLocalAudio(false);
}
});
binding.enableAudio.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
CCIMClient.getInstance().setLocalAudio(true);
}
});
binding.exitRoom.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
......
......@@ -10,7 +10,9 @@ public class ToastUtil {
CCIMClient.getInstance().handler.post(new Runnable() {
@Override
public void run() {
Toast.makeText(context,msg,Toast.LENGTH_SHORT).show();
if (context != null) {
Toast.makeText(context, msg, Toast.LENGTH_SHORT).show();
}
}
});
}
......
......@@ -31,12 +31,32 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Button
android:layout_marginLeft="10dp"
android:text="退出房间"
android:id="@+id/exit_room"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:text="禁言"
android:id="@+id/disableAudio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<Button
android:layout_marginLeft="10dp"
android:text="放开禁言"
android:id="@+id/enableAudio"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
<ListView
......
......@@ -681,7 +681,7 @@ public class CCIMClient {
conf.url(audioServer);
conf.plugin(JanusPlugins.VIDEOROOM);
janusService = new JanusService(context, roomId, user, callback);
janusService.start(context,conf);
janusService.start(context, conf);
}
/**
......@@ -693,6 +693,12 @@ public class CCIMClient {
}
}
public void setLocalAudio(boolean enable) {
if (janusService != null) {
janusService.setLocalAudio(enable);
}
}
private JanusService janusService;
public void logout() {
......
......@@ -30,6 +30,7 @@ import com.karumi.dexter.PermissionToken;
import com.karumi.dexter.listener.PermissionRequest;
import com.karumi.dexter.listener.multi.MultiplePermissionsListener;
import org.webrtc.AudioTrack;
import org.webrtc.DataChannel;
import org.webrtc.EglBase;
import org.webrtc.Logging;
......@@ -48,6 +49,7 @@ public class JanusService extends JanusDelegate {
private AudioRoomListener callback;
private AudioManager audioManager;
private AudioTrack audioTrack;
public JanusService(Context context, Integer roomId, User user, AudioRoomListener callback) {
audioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
......@@ -56,7 +58,7 @@ public class JanusService extends JanusDelegate {
this.callback = callback;
if (audioManager != null) {
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
audioManager.setSpeakerphoneOn(true);
// audioManager.setSpeakerphoneOn(true);
}
}
......@@ -89,6 +91,12 @@ public class JanusService extends JanusDelegate {
}
}
public void setLocalAudio(boolean enable) {
if (audioTrack != null) {
audioTrack.setEnabled(enable);
}
}
@Override
public void onClose() {
......@@ -118,9 +126,10 @@ public class JanusService extends JanusDelegate {
}
@Override
public void onMediaChanged(MediaBundle media) {
audioTrack = media.localAudioTrack();
}
@Override
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment