working demo, click button for feedback ;)

This commit is contained in:
2014-08-19 20:24:39 -07:00
parent 489596d7c7
commit fa769d8ced
4 changed files with 39 additions and 1 deletions

View File

@@ -3,4 +3,13 @@ define (require) ->
alert("Can't access your media :(") alert("Can't access your media :(")
return return
getUserMedia = require('getUserMedia') $ = require 'jquery'
Audio = require 'lib/captureAudio'
buttonAudio = new Audio()
$('.button.record').on 'click', (ev) ->
audioStream = buttonAudio.get()
.then (streamSource) ->
# loop the stream back through the computer... feedback, go!
streamSource.connect buttonAudio.context.destination

View File

@@ -0,0 +1,16 @@
define (require) ->
MediaCapture = require 'lib/mediaCapture'
class Audio
constructor: (ctx) ->
@audioContext = ctx || window.AudioContext || window.webkitAudioContext
@context = new @audioContext()
get: ->
audio = new MediaCapture
video: false
audio.get()
.then (audioStream) =>
@mediaStreamSource = @context.createMediaStreamSource( audioStream )
return @mediaStreamSource

View File

@@ -0,0 +1,13 @@
define (require) ->
Promise = require 'bluebird'
require 'lib/getUserMedia' # create navigator.getUserMedia
class MediaCapture
constructor: (opts={}) ->
@opts =
video: if (opts.video?) then opts.video else true
audio: if (opts.audio?) then opts.video else true
get: ->
new Promise (resolve, reject) =>
navigator.getUserMedia @opts, resolve, reject