Ionic Cordova OpenTok 无法从 IOS 发布视频

Posted

技术标签:

【中文标题】Ionic Cordova OpenTok 无法从 IOS 发布视频【英文标题】:Ionic Cordova OpenTok can't publish video from IOS 【发布时间】:2020-04-24 20:16:04 【问题描述】:

我正在尝试在 ionic 应用程序上实现 OpenTok,但我无法从 iphone 发布视频。 订阅视频有效(我可以在我的计算机上运行该应用程序并发布一个视频,我可以在我的 iphone 上看到),但反之亦然。

我的 config.xml 中有以下设置

        <config-file parent="NSCameraUsageDescription" target="*-Info.plist">
            <string>This app needs to access your camera in order to take a profile photo or save a photo in the files or messages section.</string>
        </config-file>
        <config-file parent="NSMicrophoneUsageDescription" target="*-Info.plist">
            <string>This app needs to access your microphone in order to record videos that you can upload in the files or messages section.</string>
        </config-file>

而且,我正在使用这个代码:

    startCall() 
        this.session = OT.initSession(this.apiKey, this.sessionId);
        this.publisher = OT.initPublisher('publisher');

        this.session.on(
            streamCreated: (event: any) => 
                this.session.subscribe(event.stream, 'subscriber');
                OT.updateViews();
            ,
            streamDestroyed: (event: any) => 
                console.log(`Stream $event.stream.name ended because $event.reason`);
                OT.updateViews();
            ,
            sessionConnected: (event: any) => 
                this.session.publish(this.publisher);
            
        );

        this.session.connect(this.token, (error: any) => 
            if (error) 
                console.log(`There was an error connecting to the session $error`);
            
        );
    

我添加了一些console.logs,它进入了session.on sessionConnected和session.connect,没有其​​他错误,所以我不明白会发生什么

谢谢

【问题讨论】:

面临同样的问题。您找到解决此问题的方法了吗? 不是真的..现在我正在将用户从应用程序发送到项目的网站版本(我也有 opentok)..我希望我能够实现它该应用很快 尝试将opentok插件升级到3.4.3 这对你有用吗? 是的。升级帮助了我 【参考方案1】:

这是因为 cordova openTok 插件与最新的 ios SDK 不同步,它指向 2.15.5,但最新的是 2.17.4。所以你可以尝试指向版本。 为了快速测试,我更新了插件,您可以测试它是否适合您。您可以像在 config.xml 中一样添加插件

<plugin name="cordova-plugin-opentok" spec="github:neerajpathak77/cordova-plugin-opentok" />

这将导致 package.json 中的以下内容

"cordova-plugin-opentok": "github:neerajpathak77/cordova-plugin-opentok",

现在,这应该适合你。

您可以尝试测试的另一种方法是您可以在 Xcode 中打开 YourProject.xcworkspace 文件,然后打开 Podfile 文件并将以下行添加到 pod 文件 (注意:我们正在更改生成的文件,因此每次运行cordova platform add ios时这些更改都会消失)

pod 'OpenTok 2.17.0'

然后运行命令

pod install

如果发生错误,请将目标更改为 pod 文件中的最新目标

platform :ios, '13.0'

希望对你有帮助

【讨论】:

以上是关于Ionic Cordova OpenTok 无法从 IOS 发布视频的主要内容,如果未能解决你的问题,请参考以下文章

Cordova OpenTok 集成 Chrome 问题

无法从 Ionic 中的 cordova 文件设置 img src

Ionic 3:更新到 cordova-android 9 后无法从驱动器中选择文件

opentok cordova 应用程序需要任何优化吗?

Android Opentok 上的 Ionic 3 Angular 5 应用程序崩溃

无法从 Objective C 插件返回到 Ionic/Cordova 应用程序时出错