I am trying to investigate if it is possible to get hold of audio stream on android device (for example android tv) which I can use for some purpose from inside my app (my app can be system app). Lets say something is playing on an android device (it could be anything that use the audio part of an android device). From my application , I would like to intercept the audio stream to analyze it, to record it, etc.
Any advice is appreciated.
Related
I have this project, that I need to record the sound played on my android devices. I know how to use ADB to do screen recording, but it has no audio with it.
I searched for answers and I suppose there is something called "tinycap" and "teesink" which is used for audio recording?
I am using windows platform, I don't know how to perform tinycap or teesink.
https://source.android.com/devices/audio/debugging
Can somebody tell me how to record audio on my android devices directly without using thrid-party apps?
I am developing an app with Android Studio 2.1 and I would like to record a video of an usage example, with sound.
I have already recorded some videos, but always without sound. As the sound in my app is a key feature, I would like to have the video with the audio output of my app.
Is it possible? In case it is, how could I use it?
Thanks!
Maybe you should try using external app for recording both screen and sound. I have dig in just few mins and i have found some apps.
Here I left link to a top http://www.androidauthority.com/best-screen-recording-apps-600838/
The last one seems to be the one you are looking for (SCR Screen Recorder, which requires root), hope it works!
Other option could be to use a male to male audio cable and record the audio transmitted to the pc.
I'm trying to design an Android app that will start a service which applies a reverb (using convolution) to any audio played through the phone regardless of the app the audio is coming from. The service would ideally run in the background and enable the reverb effect as soon as audio begins to play on the device.
Is something like this possible on a non rooted Android device, and if it is, where's the best place to get started?
Thanks
It is not possible without root access.
There is some example of real time convolution such as viper4android fx though it uses linux native driver to achive the problem.
Whereas on Android 4.2 and up camera2 allows me to grab the raw data stream from the camera, older devices only allow me to write the encoded stream to a file.
I ran Skype on some older devices (e.g. SDK 10) and was able to make a video call, which means that Skype must somehow be able to grab the unencoded stream before it is encoded and written to file.
I found some interesting articles on the web,
http://www.hnwatcher.com/r/1170899/Video-recording-and-processing-in-Android/
http://code.google.com/p/ipcamera-for-android/
https://github.com/NanoHttpd/nanohttpd/
but I don't see how this would be working reliably and across all devices.
I was able to read out the encoded file while Android was still writing the video, but the problem here was that Android writes the MOOV box to the end of the file and only when recording has stopped. So the information in the MDAT box is worthless before the file is closed.
Does anybody know of a library that I could use to grab the data stream from the camera and immediately use it as live stream? Has anybody tried to find out how Skype does this technically?
Is it possible for an android app running in the background to access the sound being produced by a media player (to be used for recording to another file, streaming etc)? Will the app read from the sound port? How will this work if it is possible? Any existing apps?
Appreciate any help/pointers.
No.
Or more precisely: on an unmodified Android device there is no audio loop back or pass through functionality.
http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html lists all the audio sources available to the MediaRecorder and AudioRecorder classes.
Now, if you are willing to write a device driver and have the capacity to root the target device and load your driver on it you could possibly implement a loop back driver, a pass through driver or (much more interesting) an alternative audio output device that would perform your streaming/recording and then forward to the regular audio output.
To caputre a Sound-Output form the Android Device, you can use the MediaRecorder-class, like shown in this tutorial.
But recording a Sound-File, which already exists (on the SDcard ore something) doesn't make any sense to me.