录制后的星号保存到 .wav 文件自动电子邮件,例如 gmail [关闭]

Posted

技术标签:

【中文标题】录制后的星号保存到 .wav 文件自动电子邮件,例如 gmail [关闭]【英文标题】:Asterisk after recording save to .wav file automatic email e.g gmail [closed] 【发布时间】:2013-04-30 08:49:57 【问题描述】:

首先我已经完成了录制并保存到“.wav”文件,并且我还完成了使用“postfix”通过电子邮件发送“.wav”的脚本,我的问题是录制完成后会自动通过电子邮件发送“.wav” '文件到我的电子邮件,例如'gmail',

我该怎么办? 脚本是否应该指向 extension.conf? 或 我是否需要设置一个 .wav 文件的文件名将连接到我的脚本的变量?

这是我的 extesion.conf 的示例脚本

[出站] exten => s,1,Answer() exten => s,2,Background(silence/1) exten => s,3,ControlPlayback(/var/example) exten => s,4,Record(/var/$callfile_name$STRFTIME($EPOCH,GMT-8,%m%d%y-%H%M).wav,0, 5,qxk) exten => s,5,Hangup()

这是使用“后缀”通过电子邮件发送到我的 gmail 的脚本

(printf "%s\n" \ “主题:Example_Subject”\ “收件人:example_email@gmail.com”\ “内容类型:应用程序/wav”\ "内容处置:附件;文件名=examplewav.wav" \ “内容传输编码:base64”\ ""; base64 examplewav.wav) |发送邮件“example_email@gmail.com”

【问题讨论】:

【参考方案1】:

您可以通过 h 扩展名将文件名设置为变量并在挂断时执行 sendmail。

[outbound]
exten => s,1,Answer()
exten => s,n,Background(silence/1)
exten => s,n,ControlPlayback(/var/example)
exten => s,n,Set(filename=$callfile_name$STRFTIME($EPOCH,GMT-8,%m%d%y-%H%M).wav)
exten => s,n,Record(/var/$filename,0,5,qxk)
exten => s,n,Hangup()
exten => h,1,System(/opt/scripts/wavmail.sh $filename example_email@gmail.com)

/opt/scripts/wavmail.sh(第一个参数是 $1,第二个是 $2,...)

#!/usr/bin/env bash

(printf "%s\n" \
"Subject: Example_Subject" \
"To: $2" \
"Content-Type: application/wav" \
"Content-Disposition: attachment; filename=$(basename $1)" \
"Content-Transfer-Encoding: base64" \
""; base64 $1) | /usr/bin/sendmail "$2"

【讨论】:

嗨,'pce',电子邮件工作正常,但附件 .wav 文件大小始终为 0kb,我不明白你从哪里得到参数 '$1' 和 '$2' 谢谢 o 我明白了,只需添加这样的 .wav 文件路径,exten => h,1,System(/opt/scripts/wavmail.sh /var/$filename example_email@gmail .com)非常感谢【参考方案2】:

推荐方式: 如果 cdr 具有该字段,则保存有关将此文件发送到何处并使用外部守护程序(使用队列)发送文件的 cdr 信息。这是最可扩展的方式。简单的方法 - 请参阅 pce 的答案。

【讨论】:

感谢@arheops 的提示

以上是关于录制后的星号保存到 .wav 文件自动电子邮件,例如 gmail [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

通过 openAL 将录制的音频保存为 .wav

将 PCM 录制的数据写入 .wav 文件(java android)

python语音录制声音和保存wav文件的库文件是啥

ExtAudioRecorder:“写入失败:EBADF(错误文件描述符)”将音频录制到 WAV 文件 - Android Studio

保存的 .wav 文件没有数据

如何把matlab里的音频文件转换为wav格式