【问题标题】:Realtime voice call with 2 person using nexmo/vonage使用 nexmo/vonage 与 2 人进行实时语音通话
【发布时间】:2020-06-30 08:19:51
【问题描述】:

是否可以通过 web 浏览器使用带有 PHP 或 Javascript 的 nexmo/vonage 进行实时语音通话? 我使用了名为 nexmo/laravel 的库。 我使用的这个示例代码:

$nexmo = Nexmo::calls()->create([
  'to' => [[
    'type' => 'phone',
    'number' => '855969818674'
  ]],
  'from' => [
    'type' => 'phone',
    'number' => '63282711511'
  ],
  'answer_url' => ['https://gist.githubusercontent.com/jazz7381/d245a8f54ed318ac2cb68152929ec118/raw/6a63a20d7b1b288a84830800ab1813ebb7bac70c/ncco.json'],
  'event_url' => [backpack_url('call/event')]
]);

使用该代码我可以发送文本到语音,但我如何进行实时语音对话?

【问题讨论】:

    标签: php laravel vonage


    【解决方案1】:

    从您在上面共享的代码看来,您可能没有实例化 Nexmo PHP SDK 的客户端实例,这是这样做的必要条件。您使用已实例化且经过身份验证的客户端进行出站呼叫。

    例如,首先使用以下内容实例化一个客户端,提供您的私钥文件的文件路径、您的应用程序 ID、您的 API 密钥和您的 API 密钥。你可以从Dashboard获得所有这些

    $basic  = new \Nexmo\Client\Credentials\Basic('key', 'secret');
    $keypair = new \Nexmo\Client\Credentials\Keypair(
        file_get_contents((NEXMO_APPLICATION_PRIVATE_KEY_PATH),
        NEXMO_APPLICATION_ID
    );
    
    $client = new \Nexmo\Client(new \Nexmo\Client\Credentials\Container($basic, $keypair));
    

    然后,一旦您拥有一个经过认证的客户端,您就可以在其上调用$client->calls() 方法。例如:

    $client->calls()->create([
        'to' => [[
            'type' => 'phone',
            'number' => '14843331234'
        ]],
        'from' => [
            'type' => 'phone',
            'number' => '14843335555'
        ],
        'answer_url' => ['https://example.com/answer'],
        'event_url' => ['https://example.com/event'],
    ]);
    

    您可以在GitHub 上找到有关使用 PHP SDK 的更多信息。您还可以在我们的developer portal 上找到代码 sn-ps、教程和更多说明。

    【讨论】:

    • 我已经将 api_key,secret,app_id,private.key 等凭证放在 .env 文件中并成功拨打电话。但是有问题,我只能用文字转语音拨打电话。如何进行实时语音转换?
    • 从您在上面提供的代码中,如果您确实在使用 SDK 的凭证实例,并且您可以从 NCCO 听到文本转语音,那么您已成功连接。此时,支持人员需要检查您的帐户详细信息,以确保没有其他事情发生。您可以使用您的 API 密钥(不是您的秘密)向 support@nexmo.com 发送电子邮件,他们可以为您查看日志吗?
    • 进一步注意,您很有可能将您的一个呼出呼叫连接到您创建的命名对话“每周团队会议”,如您的answer_url 中的 NCCO JSON 所示,但是那么您需要使用connect 操作将呼入呼叫放入该对话或将更多呼出呼叫转移到该对话。
    • 感谢本的回复,我会尝试联系他们
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-14
    • 2020-11-25
    • 2021-05-19
    • 2014-02-20
    • 2019-09-05
    • 2019-10-01
    相关资源
    最近更新 更多