Frequently Asked Questions - Audio
Most audio files are supported by Android, however occasionally there are factors that can cause an audio file to fail to play.
A problem with the audio file
The easiest way to determine if there is a problem with the audio file is to long press on the media file and 'launch in external player'. This will load the media file and the Android music player. If it fails to play, then the audio file will not play in DoggCatcher because DoggCatcher uses an embedded Android music player for media playback.
In the past, audio failure have been caused by:
-Invalid audio encoding parameters - In this case it has been useful to contact the publisher and let them know. They will often try to correct the problem.
-Corrupt SD cards.
-Failing Android media player (or sound drivers). Rebooting the devices fixes this.
If you are using the Presto variable speed library, you can determine if the problem is related to Presto by temporarily disabling variable speed. If the problem only occurs with variable speed enabled, then you can contact the Presto developer (firstname.lastname@example.org).
Android media player dies
Occasionally the Android media player dies in a way that can only be resolved by rebooting the device. If you get errors trying to play a variety of different audio files of which you are confident should work properly, try rebooting your device. Rebooting normally resolves this problem.
Prior to Android 2.2
With these earlier versions of Android, it's a bit like the wild west. Each application fights to respond to the button events. Determining which application responds to the events is based on the priority declared by each application and can vary by device.
Starting with Android 2.2, developer API's were created to make it possible for applications to share the buttons events.
How it should work
The last application that was used to play audio, should be the one to receive and respond to button events. You can see this demonstrated by following these steps:
-Start DoggCatcher and press play in the DoggCatcher UI
-Press a headset button (wired or BT) a few times, DoggCatcher will responds to the button presses
-Start the Android music app and press play in the music app UI
-Press a headset button (wired or BT) a few times, the music app will responds to the button presses
We've followed the development guidelines and reproduced the intended behavior, and also the behavior of the Android music player.
In order to get DoggCatcher to bind to the buttons, you should connect your headset, start DoggCatcher, and press the play button in the application UI. From that point on DoggCatcher will become the 'preferred' application and will respond to the button presses.
To get another application to bind to the buttons, start the other application and press play in the application's UI.
How it should not work
If you play an audio file in the Android music app, and then press a headset button, and an app besides the Android media player responds to the button, then that app isn't following the developer guidelines properly. In this case, it's going to be difficult to get multiple audio apps to share the button events.
There are some apps in the Google Market that acquire exclusive binding to the media buttons (as of this post). While those apps are installed, no other apps will be able to receive buttons events. If your buttons stopped working around the time you installed a media application, it's likely to be the cause.
Headset button developer guidelines
The coding details can be found here - http://android-developers.blogspot.com/2010/06/allowing-applications-to-...
Yes, with the purchase of a third party library in the Market called Presto.
This feature is currently in beta testing. Given that the library is developed by a third party, we can make no guarantees regarding future support for the feature. But we will make all reasonable attempts to keep the feature functioning properly.
This seems to happen sometimes with the Android Media Player in Android 2.2. Starting and stopping the audio file has been reported to correct it.
Yes, DoggCatcher can stream audio. The media player engine was changed in Android 2.2, so there are subtle differences in behavior. The differences are outlined below.
|up to 2.1||2.2 and later|
|See buffer||Yes||Yes - 0 for a while, then the actual buffer|
|Seek forward||Yes (only as far as buffered)||Yes (after a while)|
|Seek backward||Yes (resets buffer)||Yes (after a while)|
This problem has been reported on the Galaxy S3 and can be resolved by doing the following:
-Disable the "auto haptic" setting in the sounds settings in ICS.
-Turn auto haptic back on, go deeper into the auto haptic setting, and ticked DoggCatcher and presto
This happens on some devices. I've researched quite a few users that have experienced this and each time, it has been the case that DoggCatcher has given a command to the android media player to seek to the correct position in the audio file but the media player does not seek, but starts the audio file from the beginning.
I have also tried a few different approaches to detect when this happens and retry the seek but I haven't been able to come up with anything that reliably works around the problem.
Android design guidelines indicate that ongoing system notifications are intended for processes that are actively running in the background, like audio playback. Displaying a notification with a pause button would go against these guidelines.
If we were to against the guidelines it would still result in an awkward experience because a notification with a play button would either need to always be there (you couldn't remove it) or appear there until you manually removed it.
Audio Focus is something that is managed by Android to allow only one app to play audio at a time. When an audio app (such as DoggCatcher) plays audio, it first requests audio focus.
The notification is displayed when another app has requested audio focus and Android revokes the audio focus from DoggCatcher. At this point, DoggCatcher must stop audio playback.
Audio apps should only do this when they are responding to user input, like pressing on a media button in the app. But sometimes apps do this at other times, some seeming completely random.
The easiest way to figure out which app is responsible is to send a debug log to yourself. You can do this in the DoggCatcher menu - send log to developer, but put your own email address in the TO field. You'll receive a debug log.
Look for this in the log that is attached to the email - "AudioPauser::Pausing due to lost audio focus:". This is DoggCatcher responding to losing the focus. Just prior in the log you should see some log entries for other apps. Look for something that relates to audio and you've probably found the culprit.
Here are a list of apps that I have confirmed to do this. If you are the developer of one of these apps, and this has been corrected, please let me know and I'll get it removed from this list immediately.
Ford sync devices occasionally (I haven't figure out the pattern) sends a bluetooth play event to android, which DoggCatcher responds to by playing the currently loaded media file.
This FAQ is meant to address the situation where audio becomes silent for a short period of time, so you miss some of the audio. It is not intended for the case where audio pauses and resumes (no audio is missed).
I have experienced it on an LG G2X (Gingerbread only) but it could occur on other devices as well. This is an Android problem that causes the audio to temporarily drop out and is limited to bluetooth. In the case of my G2X, the problem only occurs when WIFI is enabled. Turning off the WIFI resolves the issue.
DoggCatcher uses an embedded Android media player for streaming audio.
When a streams fail because of a network connection problem, it will stop playing and the media player will sometimes send an erroneous message from the indicating that the audio file has completed.
Unfortunately, there isn't any way to distinguish between the 'false' completions and real completions, so DoggCatcher treats it as a completed audio file and move on to the next item in the playlist.
It possible for other applications to bind to the headset events and block other apps from receiving them.
While I haven't confirmed this personally, I have had users who have resolved this uninstalling Winamp and Overdrive.
Create a virtual feed in the 'add feed' menu and drop all your music in the directory that DoggCatcher creates for the virtual feed. In the future DoggCatcher will allow you to point a virtual feed at an existing directory that already contains your music
Sometimes the Android media player, which DoggCatcher uses, fails when starting or during play of an audio file.
If this can only be resolved by rebooting the device, then it's very like to be a problem with the Android OS or a device driver.
There are two causes for this.
When headsets start to flake out from wear, they start to send bogus signals to the device that makes it think that buttons are being pressed. If you have a headset plugged in and you are seeing audio files skip forward or backwards within the file or skipping to the next, it's possible your headset is near the end of its life. The distinguishing factor here is that the audio is still following the playlist in its natural order and it just seems like someone is pressing buttons
Faulty SD card
This one can be a little trickier to characterize but generally audio will play and seemingly jump to another audio file, then maybe back to the same audio file. The distinguishing factor is that the pattern does not follow the playlist but seems to randomly jump around to different audio files.
This is more common than you might think and I've had quite a few users that spend lots of time trying to diagnose this. A test with a backup SD card can be a big help.