AntMedia 本机接口问题
AntMedia Native Interface issues
我想为代号一实现此 AntMedia iOS 和 Android 本机接口:
import com.codename1.system.NativeInterface;
import com.codename1.ui.PeerComponent;
/**
* @deprecated Native Interface, deprecated because you normally should use the
* public API in the AntMediaClient class.
*/
public interface AntMediaNative extends NativeInterface {
/**
* Initializes the connection.
*
* @param serverURL is WebSocket url to connect (wss://...)
* @param streamId is the stream id in the server to process
* @param mode true means MODE_PUBLISH, false means MODE_PLAY
* @param tokenId is one time token string
* @return PeerComponent
*/
public PeerComponent createPeer(String serverURL, String streamId, boolean mode, String tokenId);
/**
* Starts the streaming according to the mode.
*/
public void startStream();
/**
* Stops the streaming.
*/
public void stopStream();
/**
* Switches the cameras.
*/
public void switchCamera();
/**
* Toggle microphone.
*
* @return microphone current status.
*/
public boolean toggleMic();
/**
* Stops the video source.
*/
public void stopVideoSource();
/**
* Starts or restarts the video source.
*/
public void startVideoSource();
/**
* Get the error.
*
* @return error or null if not.
*/
public String getError();
/**
* Camera open order.By default front camera is attempted to be opened at
* first, if it is set to false, another camera that is not front will be
* tried to be open.
*
* @param openFrontCamera if it is true, front camera will tried to be
* opened, if it is false, another camera that is not front will be tried to
* be opened
*/
public void setOpenFrontCamera(boolean openFrontCamera);
}
我需要两个具体问题的帮助。
第一个问题是如何获取观看直播的PeerComponent。在本机 Android 和 iOS 代码中,我不明白在这种情况下我必须做什么。您能否用 iOS 和 Android 的示例代码回答我 returns 一个 PeerComponent?以下是 SDK 文档的链接,希望足以回答这个问题。
第二个问题是 iOS 的 SDK 是用 Swift 编写的:如何从必须用 [=29] 编写的本机接口调用 Swift 代码=]?您也可以在这里用代码示例回答我吗?
感谢您的支持。
这是两个SDK的文档:
Android SDK文档:
https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-Android-SDK-Documentation
iOS SDK文档:
https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-iOS-SDK-Documentation
当您在 IDE 中使用生成本机界面工具时,它会生成匹配的本机代码。该代码为每个操作系统生成本机 OS 方法,例如在 Android 的情况下, createPeer
方法将 return a View
.
因此对于这种情况,您需要创建一个 org.webrtc.SurfaceViewRenderer
的实例并将其存储在 class 中(用于 init 的后续调用)然后 return 来自 createPeer
方法。
我想为代号一实现此 AntMedia iOS 和 Android 本机接口:
import com.codename1.system.NativeInterface;
import com.codename1.ui.PeerComponent;
/**
* @deprecated Native Interface, deprecated because you normally should use the
* public API in the AntMediaClient class.
*/
public interface AntMediaNative extends NativeInterface {
/**
* Initializes the connection.
*
* @param serverURL is WebSocket url to connect (wss://...)
* @param streamId is the stream id in the server to process
* @param mode true means MODE_PUBLISH, false means MODE_PLAY
* @param tokenId is one time token string
* @return PeerComponent
*/
public PeerComponent createPeer(String serverURL, String streamId, boolean mode, String tokenId);
/**
* Starts the streaming according to the mode.
*/
public void startStream();
/**
* Stops the streaming.
*/
public void stopStream();
/**
* Switches the cameras.
*/
public void switchCamera();
/**
* Toggle microphone.
*
* @return microphone current status.
*/
public boolean toggleMic();
/**
* Stops the video source.
*/
public void stopVideoSource();
/**
* Starts or restarts the video source.
*/
public void startVideoSource();
/**
* Get the error.
*
* @return error or null if not.
*/
public String getError();
/**
* Camera open order.By default front camera is attempted to be opened at
* first, if it is set to false, another camera that is not front will be
* tried to be open.
*
* @param openFrontCamera if it is true, front camera will tried to be
* opened, if it is false, another camera that is not front will be tried to
* be opened
*/
public void setOpenFrontCamera(boolean openFrontCamera);
}
我需要两个具体问题的帮助。
第一个问题是如何获取观看直播的PeerComponent。在本机 Android 和 iOS 代码中,我不明白在这种情况下我必须做什么。您能否用 iOS 和 Android 的示例代码回答我 returns 一个 PeerComponent?以下是 SDK 文档的链接,希望足以回答这个问题。
第二个问题是 iOS 的 SDK 是用 Swift 编写的:如何从必须用 [=29] 编写的本机接口调用 Swift 代码=]?您也可以在这里用代码示例回答我吗?
感谢您的支持。
这是两个SDK的文档:
Android SDK文档: https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-Android-SDK-Documentation
iOS SDK文档: https://github.com/ant-media/Ant-Media-Server/wiki/WebRTC-iOS-SDK-Documentation
当您在 IDE 中使用生成本机界面工具时,它会生成匹配的本机代码。该代码为每个操作系统生成本机 OS 方法,例如在 Android 的情况下, createPeer
方法将 return a View
.
因此对于这种情况,您需要创建一个 org.webrtc.SurfaceViewRenderer
的实例并将其存储在 class 中(用于 init 的后续调用)然后 return 来自 createPeer
方法。