public static void CreateMediaStoreAssembly(MediaStoreSystem system, string suffix) { var webForm = new WebForm() { Name = "WebForm" + suffix }; var audioStore = new AudioStore() { Name = "AudioStore" + suffix }; var encodingadapter = new EncodingAdapter() { Name = "EncodingAdapter" + suffix }; var encoder = new OggEncoder() { Name = "OggEncoder" + suffix }; var userMgmt = new UserManagement() { Name = "UserManagement" + suffix }; var dbAdapter = new DBAdapter() { Name = "DBAdapter" + suffix }; var mySqlClient = new MySqlClient() { Name = "MySqlClient" + suffix }; system.AssemblyContexts.Add(webForm); system.AssemblyContexts.Add(audioStore); system.AssemblyContexts.Add(userMgmt); system.AssemblyContexts.Add(encodingadapter); system.AssemblyContexts.Add(encoder); system.AssemblyContexts.Add(dbAdapter); system.AssemblyContexts.Add(mySqlClient); webForm.Application = audioStore; audioStore.UserManagement = userMgmt; audioStore.AudioDB = encodingadapter; userMgmt.Database = dbAdapter; encodingadapter.Encoder = encoder; encodingadapter.Database = dbAdapter; dbAdapter.Command = mySqlClient; dbAdapter.Connection = mySqlClient; dbAdapter.DataReader = mySqlClient; system.Frontend = webForm; }
public void save(Stream destStream) { if (File.Exists(tempFilePath)) { using (Stream sourceStream = File.Open(tempFilePath, FileMode.Open, FileAccess.Read)) { using (OggEncoder oggEncoder = new OggEncoder()) { oggEncoder.encodeToStream(sourceStream, destStream); } } } else { throw new FileNotFoundException("Cannot find temporary audio file {0}", tempFilePath); } }
private static SampleInfo EncodeToOGG(byte[] payload) { payload = payload == null ? new byte[0] : payload; if (payload == null || payload.Length == 0) { return(default(SampleInfo)); } using (var decoder = SoundProcessorFactory.CreateDecoder(new MemoryStream(payload))) { if (decoder == null) { return(default(SampleInfo)); } else if (!(decoder is OggDecoder)) { short[] buffer = new short[44100 * 2]; using (var sampleStream = new MemoryStream()) using (var encoder = new OggEncoder(sampleStream, 44100, 2)) { long read = 0; do { read = decoder.Read(buffer, buffer.Length); encoder.Write(buffer, read); }while (read > 0); encoder.Flush(); payload = sampleStream.ToArray(); return(encoder.SampleInfo); } } return(decoder.SampleInfo); } }