1

音声メッセージを録音してクラウドに保存するアプリケーションを 1 つ開発したいと考えています。

それはこのように動作します

1) ユーザーが携帯電話に電話をかけ、メッセージを録音します。

2) 録音された音声メッセージ/ボイス メールは、Web/オンラインを通じて、ユーザーの電話番号と共に、他のすべてのユーザーがアクセス/利用できる必要があります。

Web の場合、PHP/python を使用できます。

しかし、ボイスメール/ボイス メッセージを Web/クラウド経由で保存する方法がわかりません。

私を助けてください

4

2 に答える 2

1

TwilioTropo、またはこの分野の他のプロバイダーのいずれかを使用して、実際の音声回線やハードウェアなどを保護することなく、必要なことを達成してみませんか?

Twilio には、プロジェクトの開始に適したボイスメール アプリケーションのサンプルがあります。

電話プロバイダーからボイスメールにアクセスする必要がある場合は、プロバイダー固有の詳細があるため、投稿を更新して、対象とするプロバイダーに関する情報を含める必要があります (そのプロバイダーが複数の市場にある場合は、地理情報を含めることもできます)。 .

于 2011-09-12T17:33:59.353 に答える
0

そのためにTropoスクリプトをお勧めします。特に、録音と文字起こしを行うボイスメール システムの例をご覧ください。

少し前に、単純な Sinatra アプリを作成して、Tropo の録音を取り、それらを Amazon S3 バケットに入れました。そこから、好きなように使用できます。

%w(rubygems sinatra yaml logger aws/s3).each do |lib|
  require lib
end

# Open configuration file and connect to Amazon
AWS_CONFIG = YAML.load(File.open('config/amazon_s3.yml'))
AWS::S3::Base.establish_connection!(
  :access_key_id     => AWS_CONFIG['access_key_id'],
  :secret_access_key => AWS_CONFIG['secret_access_key']
)

# Exception class with HTTP error codes
class HTTPError < StandardError
  attr_reader :code
  def initialize(message, code = 500)
    super(message)
    @code = code
  end
end

# Put an uploaded file on S3
def handle_post(params)
  params['bucket'] ||= AWS_CONFIG['default_bucket']

  raise HTTPError.new("invalid token", 403) if params['token'] != AWS_CONFIG['api_token']
  raise HTTPError.new("missing filename", 400) unless params['name']
  raise HTTPError.new("bucket #{params['bucket']} is not allowed", 403) unless AWS_CONFIG['allowed_buckets'].include? params['bucket']

  AWS::S3::S3Object.store(params['name'],
                          File.open(params['filename'][:tempfile].path),
                          params['bucket'])
rescue HTTPError => ex
  error(ex.code)
rescue => ex
  puts ex
  error(500)
end


# Method that receives the file and sends to S3
# /save-to-s3?token=<token>[&bucket=<one-of-allowed-buckets>]&name=filename
post '/save-to-s3' do
  handle_post(params)
end

Heroku でアプリを実行するので、簡単な config.ru ファイルを追加して、Rack アプリとして認識できるようにします。

require 'tropo-audiofiles-to-s3'
run Sinatra::Application 

Ruby を使用する必要はありません。Tropo スクリプトは多くの言語を処理し (Tropo は Voxeo のアプリ サーバー上に構築されているため、これらはすべて JVM 上で実行されます)、ファイルのアップロードも任意の言語で処理できます。

幸運を。

于 2011-09-23T06:07:07.333 に答える