2013-05-21 5 views
0

Я разрабатываю приложение для гибкого приложения (используя Windows 7 OS). Я хочу открыть свое программное обеспечение для записи звука в Windows (в разделе аксессуаров), щелкнув по кнопке. Я много пробовал. Но не получается. Есть ли способ сделать это возможным?Открытие звукозаписывающего устройства при нажатии на кнопку

ответ

0

Вам необходимо будет использовать NativeProcess. Посмотрите на http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeProcess.html и посмотрите пример кода.

Изменение связанный пример кода, чтобы удовлетворить ваши потребности, полный код, чтобы проверить, если NativeProcess поддерживается и запустить Sound Recorder будет что-то вроде:

package 
{ 
    import flash.display.Sprite; 
    import flash.desktop.NativeProcess; 
    import flash.desktop.NativeProcessStartupInfo; 
    import flash.events.Event; 
    import flash.events.ProgressEvent; 
    import flash.events.IOErrorEvent; 
    import flash.events.NativeProcessExitEvent; 
    import flash.filesystem.File; 

    public class NativeProcessExample extends Sprite 
    { 
     public var process:NativeProcess; 

     public function NativeProcessExample() 
     { 
      if(NativeProcess.isSupported) 
      { 
       setupAndLaunch(); 
      } 
      else 
      { 
       trace("NativeProcess not supported."); 
      } 
     } 

     public function setupAndLaunch():void 
     {  
      var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo(); 
      var file:File = File.applicationDirectory.resolvePath("%SystemRoot%\system32\SoundRecorder.exe"); 
      nativeProcessStartupInfo.executable = file; 

      var processArgs:Vector.<String> = new Vector.<String>(); 
      processArgs[0] = "foo"; 
      nativeProcessStartupInfo.arguments = processArgs; 

      process = new NativeProcess(); 
      process.start(nativeProcessStartupInfo); 
      process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData); 
      process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData); 
      process.addEventListener(NativeProcessExitEvent.EXIT, onExit); 
      process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, onIOError); 
      process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError); 
     } 

     public function onOutputData(event:ProgressEvent):void 
     { 
      trace("Got: ", process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable)); 
     } 

     public function onErrorData(event:ProgressEvent):void 
     { 
      trace("ERROR -", process.standardError.readUTFBytes(process.standardError.bytesAvailable)); 
     } 

     public function onExit(event:NativeProcessExitEvent):void 
     { 
      trace("Process exited with ", event.exitCode); 
     } 

     public function onIOError(event:IOErrorEvent):void 
     { 
      trace(event.toString()); 
     } 
    } 
} 

Надежда, что помогает.

Смежные вопросы