You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by be...@apache.org on 2013/06/15 01:33:29 UTC
git commit: [CB-3703] added capabilities for wp7
Updated Branches:
refs/heads/master 47d42732f -> 6d3edfc6d
[CB-3703] added capabilities for wp7
Project: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/commit/6d3edfc6
Tree: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/tree/6d3edfc6
Diff: http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/diff/6d3edfc6
Branch: refs/heads/master
Commit: 6d3edfc6de7ea43bcfcf2049dbd3f9d93fa9504e
Parents: 47d4273
Author: Benn Mapes <be...@gmail.com>
Authored: Fri Jun 14 16:04:22 2013 -0700
Committer: Benn Mapes <be...@gmail.com>
Committed: Fri Jun 14 16:17:39 2013 -0700
----------------------------------------------------------------------
plugin.xml | 5 +++++
src/wp7/UI/AudioRecorder.xaml.cs | 30 +++++++++++++++++++++++++++---
2 files changed, 32 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/blob/6d3edfc6/plugin.xml
----------------------------------------------------------------------
diff --git a/plugin.xml b/plugin.xml
index f7036e1..5c11f0e 100644
--- a/plugin.xml
+++ b/plugin.xml
@@ -71,6 +71,11 @@ id="org.apache.cordova.core.Capture"
</feature>
</config-file>
+ <config-file target="Properties/WMAppManifest.xml" parent="/Deployment/App/Capabilities">
+ <Capability Name="ID_CAP_MEDIALIB"/>
+ <Capability Name="ID_CAP_MICROPHONE"/>
+ </config-file>
+
<source-file src="src/wp7/Capture.cs" />
<source-file src="src/wp7/UI/AudioCaptureTask.cs" />
<source-file src="src/wp7/UI/AudioRecorder.xaml" />
http://git-wip-us.apache.org/repos/asf/cordova-plugin-media-capture/blob/6d3edfc6/src/wp7/UI/AudioRecorder.xaml.cs
----------------------------------------------------------------------
diff --git a/src/wp7/UI/AudioRecorder.xaml.cs b/src/wp7/UI/AudioRecorder.xaml.cs
index bc8ba6f..6ff0b5c 100644
--- a/src/wp7/UI/AudioRecorder.xaml.cs
+++ b/src/wp7/UI/AudioRecorder.xaml.cs
@@ -122,8 +122,25 @@ namespace WPCordovaClassLib.Cordova.UI
this.buffer = new byte[microphone.GetSampleSizeInBytes(this.microphone.BufferDuration)];
this.microphone.BufferReady += new EventHandler<EventArgs>(MicrophoneBufferReady);
- this.memoryStream = new MemoryStream();
- this.memoryStream.InitializeWavStream(this.microphone.SampleRate);
+ MemoryStream stream = new MemoryStream();
+ this.memoryStream = stream;
+ int numBits = 16;
+ int numBytes = numBits / 8;
+
+ // inline version from AudioFormatsHelper
+ stream.Write(System.Text.Encoding.UTF8.GetBytes("RIFF"), 0, 4);
+ stream.Write(BitConverter.GetBytes(0), 0, 4);
+ stream.Write(System.Text.Encoding.UTF8.GetBytes("WAVE"), 0, 4);
+ stream.Write(System.Text.Encoding.UTF8.GetBytes("fmt "), 0, 4);
+ stream.Write(BitConverter.GetBytes(16), 0, 4);
+ stream.Write(BitConverter.GetBytes((short)1), 0, 2);
+ stream.Write(BitConverter.GetBytes((short)1), 0, 2);
+ stream.Write(BitConverter.GetBytes(this.microphone.SampleRate), 0, 4);
+ stream.Write(BitConverter.GetBytes(this.microphone.SampleRate * numBytes), 0, 4);
+ stream.Write(BitConverter.GetBytes((short)(numBytes)), 0, 2);
+ stream.Write(BitConverter.GetBytes((short)(numBits)), 0, 2);
+ stream.Write(System.Text.Encoding.UTF8.GetBytes("data"), 0, 4);
+ stream.Write(BitConverter.GetBytes(0), 0, 4);
this.duration = new TimeSpan(0);
@@ -234,7 +251,13 @@ namespace WPCordovaClassLib.Cordova.UI
return new AudioResult(TaskResult.Cancel);
}
- this.memoryStream.UpdateWavStream();
+ //this.memoryStream.UpdateWavStream();
+ long position = memoryStream.Position;
+ memoryStream.Seek(4, SeekOrigin.Begin);
+ memoryStream.Write(BitConverter.GetBytes((int)memoryStream.Length - 8), 0, 4);
+ memoryStream.Seek(40, SeekOrigin.Begin);
+ memoryStream.Write(BitConverter.GetBytes((int)memoryStream.Length - 44), 0, 4);
+ memoryStream.Seek(position, SeekOrigin.Begin);
// save audio data to local isolated storage
@@ -302,5 +325,6 @@ namespace WPCordovaClassLib.Cordova.UI
dtXna = null;
}
}
+
}
}
\ No newline at end of file