Page 1 of 2 12 LastLast
Results 1 to 20 of 28
  1.    #1  
    Looking for an app to record things in the room/your own voice for memos and what not, as well as record conversations during phone calls. The phone call part might not be possible until a more "open" SDK comes out, but can someone write a quick app to turn on the microphone and record things?

    Thanks for all the great work you all do. I tried picking up some old C++, JAVA, HTML etc. books and re-learning code to help some of you guys, but I just can't seem to get back into it
  2. #2  
    Yes guys voice recorder is what we need
  3.    #3  
    Is anyone working on an app like this, or know if it's even possible with the SDK? I am just curious, really would like this app. Heck, I may even delete one of the awesome apps on my phone for it
  4. carrel's Avatar
    Posts
    425 Posts
    Global Posts
    426 Global Posts
    #4  
    Me too. I would really like this! I am personally not looking for call recording, I just want simple, easy to use voice memos. I am hoping some developer is interested in this.
  5. #5  
    No mic access in the SDK, so not possible unless you have a custom service (ie. WebOS Quick Install or rooting only), and even then I don't know if it is possible. I am more of an official SDK kind of person
    Sprint Palm Pre - WebOS 2.1 > Sprint HTC Arrive
  6. zpoettker's Avatar
    Posts
    65 Posts
    Global Posts
    79 Global Posts
    #6  
    I was hoping for something like this. would be good for some classes and concerts? I don't know how well the mic is though..

    I wonder why they didn't allow mic access. Hopefully they will eventually.
  7.    #7  
    Quote Originally Posted by zpoettker View Post
    I was hoping for something like this. would be good for some classes and concerts? I don't know how well the mic is though..

    I wonder why they didn't allow mic access. Hopefully they will eventually.
    Have you even used your phone on speakerphone, and been doing something else away from the room, or used it in a Jeep with a convertible top? The Pre's microphone is REALLY good. Would be excellent for voice memos, sending concert clips to girlfriends at home etc. Could be an excellent app. I really miss the voice recorder from PalmOS and WinMo that would let you record conversations as well. Came in handy for important convos with a lot of hard to remember important info.

    Oh well, hopefully the SDK will be reworked and give our developers better access. I really miss that app Thanks anyway TIWizard, good to have a solid answer, even if it is SDK only.
  8. leftfoot's Avatar
    Posts
    16 Posts
    Global Posts
    21 Global Posts
    #8  
    bump
  9. #9  
    Quote Originally Posted by leftfoot View Post
    bump
    still no mic access in the sdk...
  10. #10  
    +1 for this app. I would love to have this! I was wondering why it didn't come with it, I think all of my past phones did. I've had about 20.
  11. sratson's Avatar
    Posts
    57 Posts
    Global Posts
    61 Global Posts
    #11  
    MotionApps had a great one for the treo.. mVoice.. I would love to see them make one for the Pre..
  12. Daemon's Avatar
    Posts
    796 Posts
    Global Posts
    809 Global Posts
    #12  
    While it is definitely not in the SDK, it is possible for a service
    to access the mic, as evidenced by the Precorder app which
    does both video and audio recording on the Pre. Maybe someone could
    convince them to modify that application so you have the option of
    recording Audio+Video or just Audio alone. Any yes, the
    microphone appears to be quite good as evidenced by the sound
    in some of my recorded videos (shame it's on the opposite side
    from the camera though, so it doesn't always hear what you're pointed
    at very well).

    ian
  13. #13  
    Quote Originally Posted by Daemon View Post
    While it is definitely not in the SDK, it is possible for a service
    to access the mic, as evidenced by the Precorder app which
    does both video and audio recording on the Pre. Maybe someone could
    convince them to modify that application so you have the option of
    recording Audio+Video or just Audio alone. Any yes, the
    microphone appears to be quite good as evidenced by the sound
    in some of my recorded videos (shame it's on the opposite side
    from the camera though, so it doesn't always hear what you're pointed
    at very well).

    ian
    I am pretty sure it already does Audio and Audio+Video...
    Sprint Palm Pre - WebOS 2.1 > Sprint HTC Arrive
  14. #14  
    This is actually related to the issue we're having re-releasing a native version of Precorder.

    See, (at least the way I understand it) video is being captured by a CCD, and therefore is already in a digital format (albeit raw), so it just needs a few low level adjustments (see fourcc.org) and a digital-to-digital encoder to get it into a format that's muxable.

    Audio is a little different. Grabbing audio from the microphone directly from Alsa seems to require a complete analog-to-digital conversion for encoding. Right now, there is access to the DSP through a pretty standard TI/OMAP bridge that's compiled into the kernel, but the actual 'access' is all mucked up in binaries, with a sore lack of documentation. Luckily, palm included an audio encoder plugin for Gstreamer that uses the DSP, but it's crap. Well, it's not crap, it's just poorly done. So our options are 1.) use it anyway, which is basically impossible because it doesn't timestamp buffers (and strips what timestamps it already has) so it's impossible to mux with any reasonable timing), 2.) Use an encoder with no DSP access, which pegs the CPU because of the analog-to-digital conversion method, and we lose frames faster than we can encode them, or 3.) Try to build/utilize existing audio encoders from the opensource TI GST project. which is over my head at the moment.

    This being said, in theory, one could use palm's proprietary audio encoder for JUST a voice recording app.. I haven't done much testing as priority is not high for us. HOWEVER, if someone with some linux/gstreamer knowledge would like to, I would be more than happy to release all of the information I have gathered relative to this.

    At some point, the proper information will also go up on the webos-internals wiki. Right now, I just figure my time is better spent actually making stuff work rather than documenting it.

    EDIT: I feel this is worth mentioning in case some wandering Palm exec with direct ties to engineering is strolling through this post... The existing audio encoder is completely fixable in less than 10 lines of code. Please
    Last edited by Prenosicator; 12/14/2009 at 10:49 AM. Reason: clarification
    Bringing you the first video recorder (Precorder), the first SDL application/game (DOOM), the first "make my magicjack/corporate voicemail play on my webos phone thingy" (gsm codec package), and now, webos's first opensource media recorder (voice and stream!) -> zcorder
  15. #15  
    I dictate quite a bit for my job. I currently use Audacity on my Centro. This is one of the main things that is preventing me from upgrading to a Pre. Does anyone know if any Palm OS voice recording programs work in Classic?
  16. sratson's Avatar
    Posts
    57 Posts
    Global Posts
    61 Global Posts
    #16  
    I wish MotionApps would port mVoice to webOS..
  17. #17  
    Here's a proof-of-concept that audio recording is possible on webOS right now (no additional SDK needed):

    • Go into the phone application and type ##8378#
    • This brings up a "Diagnostic Tests" screen
    • Press the button for "Manual Tests"
    • Scroll down and select "Audio"
    • Un-check everything except for "Phone"
    • Press the "Start" button in the bottom-left hand corner of the screen
    • Press the "Continue" button in the bottom-left hand corner of the screen
    • Press the green "Yes" button


    Now you are at a screen that perfectly demonstrates that audio-recording is possible. Notice the "Record" button? Press that and say something. Then press the "Play" button and hold the phone to your ear.

    All we need to do is find the source code for this application, program a save function, create an ipk for it, and BAM! Audio recording on webOS.
    hit up that thanks button
  18. #18  
    Maybe WebOS Internals can help out with that?
  19. #19  
    The name of the application is:
    com.palm.app.crotest

    I'm trying to find the source code right now. I'll post here when I find it. Or maybe I'll start a new thread since this is kind of diverging from the OP.
    hit up that thanks button
  20. #20  
    Relevant code:

    RECORDING
    Code:
    AudioHeadsetMicrophoneAssistant.prototype.handleRecord = function()
    {
    	this.model.buttonLabel = $L("Recording");
    	this.model.disabled = true;
    	this.controller.modelChanged(this.model);
    
    	setTimeout( this.fixRecordButton.bind(this), 5000 );
    
      	var request = new Mojo.Service.Request('palm://com.palm.audio/media', {
    		method: 'getCurrentScenario',
    		parameters: { },
    		onSuccess: function(response) {
    			if(!this.oldScenario)
    				this.oldScenario = response.scenario;
    
    			if(this.currentScenario != this.oldScenario)
    			{
    				var request2 = new Mojo.Service.Request('palm://com.palm.audio/media', {
    					method: 'setCurrentScenario',
    					parameters: { "scenario":this.currentScenario },
    					onSuccess: this.recordSoundFile.bind(this),
    					onFailure: function() {
    						Logging.log(this.errorClass, "failed Mojo call: setCurrentScenario");
    					}.bind(this)
    				});
    			}
    			else
    			{
    				this.recordSoundFile();
    			}
    		}.bind(this),
    		onFailure: function() {
    			Logging.log(this.errorClass, "failed Mojo call: getCurrentScenario");
    		}.bind(this)
    	});
    }
    
    AudioHeadsetMicrophoneAssistant.prototype.recordSoundFile = function()
    {
    	var request = new Mojo.Service.Request('palm://com.palm.crotest', {
    		method: 'RecordSound',
    		parameters: {},
    		onFailure: function() {
    			Logging.log(this.errorClass, "failed Mojo call: RecordSound");
    		}.bind(this)
    	});
    }

    PLAYING BACK RECORDING
    Code:
    AudioHeadsetMicrophoneAssistant.prototype.handlePlayRecord = function()
    {
    	this.playRecmodel.buttonLabel = $L("Playing");
    	this.playRecmodel.disabled = true;
    	this.controller.modelChanged(this.playRecmodel);
    
    	setTimeout( this.fixPlayRecordButton.bind(this), 5000 );
      	var request = new Mojo.Service.Request('palm://com.palm.audio/media', {
    		method: 'getCurrentScenario',
    		parameters: { },
    		onSuccess: function(response) {
    			if(!this.oldScenario)
    				this.oldScenario = response.scenario;
    
    			if(this.currentScenario != this.oldScenario)
    			{
    				var request2 = new Mojo.Service.Request('palm://com.palm.audio/media', {
    					method: 'setCurrentScenario',
    					parameters: { "scenario":this.currentScenario },
    					onSuccess: this.playRecordFile.bind(this),
    					onFailure: function() {
    						Logging.log(this.errorClass, "failed Mojo call: setCurrentScenario");
    					}.bind(this)
    				});
    			}
    			else
    			{
    				this.playRecordFile();
    			}
    		}.bind(this),
    		onFailure: function() {
    			Logging.log(this.errorClass, "failed Mojo call: getCurrentScenario");
    		}.bind(this)
    	});
    }
    
    AudioHeadsetMicrophoneAssistant.prototype.wipeRecording = function()                             
    {
    	var request = new Mojo.Service.Request('palm://com.palm.crotest', {
    		method: 'RemoveRecording',
    		parameters: {},
    		onFailure: function() {
    			Logging.log(this.errorClass, "failed Mojo call: RemoveRecording"); 
    		}.bind(this)
    	});
    }
    
    AudioHeadsetMicrophoneAssistant.prototype.playRecordFile = function()
    {
    	this.playSound(this.recordFile);
    }
    
    AudioHeadsetMicrophoneAssistant.prototype.playSound = function(file)
    {
      	var request = new Mojo.Service.Request('palm://com.palm.crotest', {
    		method: 'PlaySound',
    		parameters: {"file":file},
    		onSuccess: function() {
    			Logging.log(this.errorClass, "successful Mojo call: PlaySound");
    		}.bind(this),
    		onFailure: function() {
    			Logging.log(this.errorClass, "failed Mojo call: PlaySound");
    		}.bind(this)
    	});
    }
    Sprint Palm Pre - WebOS 2.1 > Sprint HTC Arrive
Page 1 of 2 12 LastLast

Posting Permissions