Какие технологии мне следует использовать для разработки голосовых приложений - PullRequest
1 голос
/ 12 сентября 2011

Я хотел бы разработать одно приложение, которое записывает голосовые сообщения и хранит в облаке.

работает так

1) пользователь звонит на мобильный телефон и записывает сообщение.

2) Записанное голосовое сообщение / голосовая почта должны быть доступны / доступны для всех других пользователей вместе с номером телефона пользователя через Интернет / онлайн.

для Интернета я могу использовать PHP / python.

но я не знаю, как сохранить голосовую почту / голосовое сообщение через Интернет / облако.

Пожалуйста, помогите мне

Ответы [ 2 ]

1 голос
/ 12 сентября 2011

Почему бы не использовать Twilio , Tropo или одного из других провайдеров в этом пространстве , чтобы выполнить то, что вам нужно, без необходимости защиты реальных голосовых линий, оборудованияи т. д.

В Twilio есть пример приложения для голосовой почты , которое может стать хорошим началом для вашего проекта.

Если вам нужен доступ к голосовой почте от провайдера телефонной связиэто будет информация о конкретном поставщике, поэтому вы должны обновить свое сообщение, чтобы включить информацию о том, на какого поставщика вы хотите настроить таргетинг (и, возможно, включить географическую информацию, если этот поставщик находится на нескольких рынках).

0 голосов
/ 23 сентября 2011

Я бы порекомендовал 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 работают со многими языками (все они работают на JVM, потому что Tropo построен на сервере приложений Voxeo), и вы можете обрабатывать загрузку файлов на любом языке.

Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...