【问题标题】:How to get a recorded wav file using Twilio Java API如何使用 Twilio Java API 获取录制的 wav 文件
【发布时间】:2020-01-21 13:29:03
【问题描述】:

谁能指出我,使用 Twilio Java API,不是! REST 请求,如何获取具体调用的录音文件(.wav)。

我已经阅读了所有与录制相关的文章 (https://support.twilio.com/hc/en-us/sections/205104748-Recording),但没有一篇文章显示如何使用 Java API 做到这一点。

假设 CALL_SID 已知,我使用此代码作为起点:

import com.twilio.Twilio;
import com.twilio.base.ResourceSet;
import com.twilio.rest.api.v2010.account.Recording;
import com.twilio.rest.api.v2010.account.RecordingReader;

public class DeleteRecordings1 {

    private static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX";
    private static final String AUTH_TOKEN = "999aa999aaa999aaaa999";

    private static final String CALL_SID = "CA83837718818gdgdg";

    public static void main(String[] args) {
        try {       
            Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

            RecordingReader recordingReader = Recording.reader();
                recordingReader.setCallSid(CALL_SID);

            ResourceSet<Recording> recordings = recordingReader.read();
            String recordingSid;
            for (Recording recording: recordings) { 
                recordingSid = recording.getSid();              

                //HERE! I want to restore the .wav file associated with that RECORD_SID ?¿

            }                       
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

【问题讨论】:

    标签: java twilio twilio-api


    【解决方案1】:

    我放了最后的代码,以防它可以帮助别人:

    import java.io.File;
    import java.io.InputStream;
    import java.net.URL;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.nio.file.StandardCopyOption;
    
    import com.twilio.Twilio;
    import com.twilio.base.ResourceSet;
    import com.twilio.rest.api.v2010.account.Recording;
    import com.twilio.rest.api.v2010.account.RecordingReader;
    
    public class GetCallRecordings {
    
        private static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXX";
        private static final String AUTH_TOKEN = "999aa999aaa999aaaa999";
    
        private static final String CALL_SID = "CA83837718818gdgdg";
    
        private static final String TWILIO_RES_URL = "https://api.twilio.com/2010-04-01/Accounts";
        private static final String REC_EXT = ".mp3";
    
        private static final String RUTA_RECS = "C:/recursos/grabaciones/";
    
        public static void main(String[] args) {
            try {
                Twilio.init(ACCOUNT_SID, AUTH_TOKEN);
    
                RecordingReader recordingReader = Recording.reader();
                recordingReader.setCallSid(CALL_SID);
    
                ResourceSet<Recording> recordings = recordingReader.read();
    
                String recordingSid;
                String urlGrabacion;
                String locGrabacion;
    
                InputStream in;
    
                for (Recording recording : recordings) {
                    recordingSid = recording.getSid();
                    urlGrabacion = TWILIO_RES_URL + "/" + ACCOUNT_SID + "/Recordings/" + recordingSid + REC_EXT;
                    locGrabacion = RUTA_RECS + CALL_SID + "_" + recordingSid + REC_EXT;
    
                    System.out.println("Recuperando grabacion " + recordingSid);
                    System.out.println("Ubicacion remota " + urlGrabacion);
    
                    if (!new File(RUTA_RECS).exists()) {
                        new File(RUTA_RECS).mkdirs();
                    }
    
                    in = new URL(urlGrabacion).openStream();
                    Files.copy(in, Paths.get(locGrabacion), StandardCopyOption.REPLACE_EXISTING);
    
                    System.out.println("Ubicacion local " + locGrabacion);
    
                    in.close();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      一旦你知道recordingSid 例如RE557ce644e5ab84fa21cc21112e22c485

      您可以在https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.wav 获取 .wav 文件

      您可以在https://api.twilio.com/2010-04-01/Accounts/ACXXXXX.../Recordings/RE557ce644e5ab84fa21cc21112e22c485.mp3 获取 .mp3 文件

      ACXXXXX... 是您的 Twilio 帐户 SID (ACCOUNT_SID)

      【讨论】:

        猜你喜欢
        • 2014-04-17
        • 2014-07-27
        • 1970-01-01
        • 2021-07-27
        • 1970-01-01
        • 2011-03-04
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        相关资源
        最近更新 更多