Open PunnyBunny opened 3 years ago
The problem is that I loaded the mp3 files from assets, which they don't have an URI for the player to load. Check out #23 for quick solve. I really hope they have a better error message.
Yes, this exception is really not clear.
I suggest to do two things :
Please keep this issue open, so that someone will fix that
Agree.
Registered in the Flutter Sound Project
Yes, this exception is really not clear.
I suggest to do two things :
- A clear error message when the URI is not valid
- Implement a verb 'startPlayerFromAsset()'
Please keep this issue open, so that someone will fix that
@Larpoux Do you still need someone to do this two things? i can take a look on this if needed
Oh YES!!!. I never refuse any help : we have many, many things to do for a better Flutter Sound and we don't have very often Pull Requests.
Actually I am (was) the only active contributor, and I work only part time on Flutter Sound. And I must confess that I am very slow to develop. So things are overflowed.
The verb 'startPlayerFromAsset()' would be a new API procedure. I am currently in the process of forking Flutter Sound into two branches :
The question that you will have to answer is "Do you want to do a Pull Request against the Flutter Sound 8.3 Master branch, or the Tau Sound 9.0 Master branch" ?
I really don't know how to answer this question. What's your recommendation?
Ι do not have any recommandation. One of the two main differences is the License. You are the developer. This will be your work. You may decide under which License you want to publish your work. For myself (only myself), I will not be able to maintain two forks and I want to publish all my stuff under the GPL. But this is just my choice.
The other big difference is that Tau Sound 9.0 has a new cleaner API. You must know that there are no more many verbs like :
Instead, we have just a verb "play()", without many important parameters. Before calling play(), the App calls the verb "open()". The verb open has two parameters :
The object "from:" can be for example a : "InputAssetNode". An object "InputAssetNode" will define the path of the asset. Exemple :
InputNode myInputNode = InputAssetNode('foo/bla');
myPlayer.open(from: myInputNode, to: OutputDeviceNode.speaker() );
myPlayer.play();
myPlayer.pause();
myPlayer.resume();
myPlayer.stop();
myPlayer.close();
Ok, i will do my PR to Tau Sound 9.0
Yeah! Good choice 👍 . Tau Sound 9.0 is now prety stable. I will change a few things in the API, but nothing like a revolution.
A big thing that is actually missing in Tau Sound 9.0 is the documentation. I started to write it, but this is a painful task for me. I will do a Push of the current documentation tomorrow. The Doc is/will be here.
I do not want to interfere too much in your work. But if you want, I will tell you roughly what can be done.
Thank you so much for your proposition of contribution.
I do not want to interfere too much in your work. But if you want, I will tell you roughly what can be done.
Yes, that will be good.
Thank you so much for your proposition of contribution.
I want to start contributing to open source projects as I believe it's one of the best ways to improve my git, dart, flutter and programming skills and as I've already used this lib on two projects of mine I thought it would be a good place to start contributing.
This is fantastic 👍
First thing to do is :
git clone git@github.com:Canardoux/tau10.git
There are several places where you can load your asset :
On Flutter Sound 8.3, most of the job was done in play() (startPlayerFromXXX). I think now that it was too late, and better to do most of the job in the open() verb of TauPlayer. But perhaps an even better place is in the InputAssetNode constructor: I do not like too much doing a lot of processing in a constructor, but still, I think that this is the good place.
[Of course you can have other ideas. Just tell me.]
When I defined the new API, I wrote a dummy class InputAssetNode
to have a reminder of where to write the code.
This class is actually almost empty. It is in the source file tau_sound/lib/public/tau_node, line 124.
If you want to do the loading of the asset in the constructor, you must add a new member in this class to keep
the byte buffer. I actually think that you have just to inherit your class InputAssetNode
from InputBufferNode
.
I suggest that the constructor will have 3 parameters :
(look the class InputBufferNode).
Loading the asset is very simple. You can look to the demo example, or some of the basic examples in directory : tau_sound/example/lib
Don't be afraid by this post. Everything is very simple and you will not have any difficulty. The problem is that I am a bad teacher and I have a very, very bad english.
So I cloned the repository, created a flutter project and added the dependency using the static path. However, when running the project I'm using to test, it presents me with some errors.
The first time I tried it, it gave me the following error:
FAILURE: Build failed with an exception.
* Where:
Build file '/home/alvarocda/development/alvaro/tau10/tau_sound/android/build.gradle' line: 57
* What went wrong:
A problem occurred evaluating project ':tau_sound'.
> Project with path ':tau_native' could not be found in project ':tau_sound'.
I went into that file and commented out this line (line 57).
Then I tried to compile again and my console was full of errors.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundSession.java:28: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.*;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundSession.java:29: error: package xyz.canardoux.TauNative.Flauto does not exist
import xyz.canardoux.TauNative.Flauto.t_LOG_LEVEL;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundSession.java:110: error: package xyz.canardoux.TauNative.Flauto does not exist
public void log(xyz.canardoux.TauNative.Flauto.t_LOG_LEVEL level, String msg)
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:29: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.Flauto;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:28: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.*;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:29: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.FlautoTrack;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:30: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.FlautoTrackPlayer;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:31: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.FlautoPlayerCallback;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:32: error: package xyz.canardoux.TauNative.Flauto does not exist
import xyz.canardoux.TauNative.Flauto.*;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:35: error: cannot find symbol
public class TauSoundPlayer extends TauSoundSession implements FlautoPlayerCallback
^
symbol: class FlautoPlayerCallback
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:44: error: cannot find symbol
FlautoPlayer m_flautoPlayer;
^
symbol: class FlautoPlayer
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:123: error: cannot find symbol
public void updatePlaybackState(t_PLAYER_STATE newState)
^
symbol: class t_PLAYER_STATE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:31: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.*;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:32: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.FlautoRecorder;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:33: error: package xyz.canardoux.TauNative does not exist
import xyz.canardoux.TauNative.Flauto;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:34: error: package xyz.canardoux.TauNative.Flauto does not exist
import xyz.canardoux.TauNative.Flauto.*;
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:37: error: cannot find symbol
public class TauSoundRecorder extends TauSoundSession implements FlautoRecorderCallback
^
symbol: class FlautoRecorderCallback
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:43: error: cannot find symbol
FlautoRecorder m_recorder;
^
symbol: class FlautoRecorder
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:57: error: cannot find symbol
Flauto.androidContext = registrar.context ();
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:58: error: cannot find symbol
Flauto.androidActivity = registrar.activity ();
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:60: error: cannot find symbol
TauSoundPlayerManager.attachFlautoPlayer ( Flauto.androidContext, registrar.messenger () );
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:61: error: cannot find symbol
TauSoundRecorderManager.attachFlautoRecorder ( Flauto.androidContext, registrar.messenger () );
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:96: error: cannot find symbol
Flauto.androidActivity = binding.getActivity ();
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:99: error: cannot find symbol
Flauto.androidContext = pluginBinding.getApplicationContext ();
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:100: error: cannot find symbol
TauSoundPlayerManager.attachFlautoPlayer ( Flauto.androidContext, pluginBinding.getBinaryMessenger () );
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java:101: error: cannot find symbol
TauSoundRecorderManager.attachFlautoRecorder ( Flauto.androidContext, pluginBinding.getBinaryMessenger () );
^
symbol: variable Flauto
location: class TauSound
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:136: error: cannot find symbol
m_flautoPlayer = new FlautoTrackPlayer(this);
^
symbol: class FlautoTrackPlayer
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:139: error: cannot find symbol
m_flautoPlayer = new FlautoPlayer(this);
^
symbol: class FlautoPlayer
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:157: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: class t_AUDIO_FOCUS
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:157: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: variable t_AUDIO_FOCUS
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:159: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: class t_SESSION_CATEGORY
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:159: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: variable t_SESSION_CATEGORY
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:161: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: class t_SESSION_MODE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:161: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: variable t_SESSION_MODE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:163: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: class t_AUDIO_DEVICE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:163: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: variable t_AUDIO_DEVICE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:223: error: cannot find symbol
log(t_LOG_LEVEL.ERROR, "startPlayerFromMic() exception");
^
symbol: variable t_LOG_LEVEL
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:231: error: cannot find symbol
t_CODEC codec = t_CODEC.values()[(_codec != null) ? _codec : 0];
^
symbol: class t_CODEC
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:231: error: cannot find symbol
t_CODEC codec = t_CODEC.values()[(_codec != null) ? _codec : 0];
^
symbol: variable t_CODEC
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:257: error: cannot find symbol
log(t_LOG_LEVEL.ERROR, "startPlayer() exception");
^
symbol: variable t_LOG_LEVEL
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:273: error: cannot find symbol
log(t_LOG_LEVEL.ERROR, "feed() exception" );
^
symbol: variable t_LOG_LEVEL
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:282: error: cannot find symbol
final FlautoTrack track = new FlautoTrack( trackMap );
^
symbol: class FlautoTrack
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:282: error: cannot find symbol
final FlautoTrack track = new FlautoTrack( trackMap );
^
symbol: class FlautoTrack
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:320: error: cannot find symbol
boolean b = m_flautoPlayer.isDecoderSupported(t_CODEC.values()[_codec]);
^
symbol: variable t_CODEC
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:336: error: cannot find symbol
log(t_LOG_LEVEL.ERROR, "pausePlay exception: " + e.getMessage () );
^
symbol: variable t_LOG_LEVEL
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:353: error: cannot find symbol
log(t_LOG_LEVEL.ERROR, "mediaPlayer resume: " + e.getMessage () );
^
symbol: variable t_LOG_LEVEL
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:456: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: class t_AUDIO_FOCUS
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:456: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: variable t_AUDIO_FOCUS
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:458: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: class t_SESSION_CATEGORY
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:458: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: variable t_SESSION_CATEGORY
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:460: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: class t_SESSION_MODE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:460: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: variable t_SESSION_MODE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:462: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: class t_AUDIO_DEVICE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundPlayer.java:462: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: variable t_AUDIO_DEVICE
location: class TauSoundPlayer
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:99: error: cannot find symbol
m_recorder = new FlautoRecorder(this);
^
symbol: class FlautoRecorder
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:114: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: class t_AUDIO_FOCUS
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:114: error: cannot find symbol
t_AUDIO_FOCUS focus = t_AUDIO_FOCUS.values()[x1];
^
symbol: variable t_AUDIO_FOCUS
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:116: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: class t_SESSION_CATEGORY
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:116: error: cannot find symbol
t_SESSION_CATEGORY category = t_SESSION_CATEGORY.values()[x2];
^
symbol: variable t_SESSION_CATEGORY
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:118: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: class t_SESSION_MODE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:118: error: cannot find symbol
t_SESSION_MODE mode = t_SESSION_MODE.values()[x3];
^
symbol: variable t_SESSION_MODE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:120: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: class t_AUDIO_DEVICE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:120: error: cannot find symbol
t_AUDIO_DEVICE audioDevice = t_AUDIO_DEVICE.values()[x4];
^
symbol: variable t_AUDIO_DEVICE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:157: error: cannot find symbol
boolean b = m_recorder.isEncoderSupported(t_CODEC.values()[_codec]);
^
symbol: variable t_CODEC
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:254: error: cannot find symbol
t_CODEC codec = t_CODEC.values()[ _codec ];
^
symbol: class t_CODEC
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:254: error: cannot find symbol
t_CODEC codec = t_CODEC.values()[ _codec ];
^
symbol: variable t_CODEC
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:257: error: cannot find symbol
t_AUDIO_SOURCE audioSource = t_AUDIO_SOURCE.values()[_audioSource];
^
symbol: class t_AUDIO_SOURCE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:257: error: cannot find symbol
t_AUDIO_SOURCE audioSource = t_AUDIO_SOURCE.values()[_audioSource];
^
symbol: variable t_AUDIO_SOURCE
location: class TauSoundRecorder
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:306: error: package Flauto does not exist
Flauto.t_AUDIO_FOCUS focus = Flauto.t_AUDIO_FOCUS.values()[x1];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:306: error: package Flauto does not exist
Flauto.t_AUDIO_FOCUS focus = Flauto.t_AUDIO_FOCUS.values()[x1];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:308: error: package Flauto does not exist
Flauto.t_SESSION_CATEGORY category = Flauto.t_SESSION_CATEGORY.values()[x2];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:308: error: package Flauto does not exist
Flauto.t_SESSION_CATEGORY category = Flauto.t_SESSION_CATEGORY.values()[x2];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:310: error: package Flauto does not exist
Flauto.t_SESSION_MODE mode = Flauto.t_SESSION_MODE.values()[x3];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:310: error: package Flauto does not exist
Flauto.t_SESSION_MODE mode = Flauto.t_SESSION_MODE.values()[x3];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:312: error: package Flauto does not exist
Flauto.t_AUDIO_DEVICE audioDevice = Flauto.t_AUDIO_DEVICE.values()[x4];
^
/home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSoundRecorder.java:312: error: package Flauto does not exist
Flauto.t_AUDIO_DEVICE audioDevice = Flauto.t_AUDIO_DEVICE.values()[x4];
^
Note: /home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/src/main/java/xyz/canardoux/tausound/TauSound.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
76 errors
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':tau_sound:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 39s
Exception: Gradle task assembleDebug failed with exit code 1
So, I went back to this file /home/alvarocda/desenvolvimento/alvaro/tau10/tau_sound/android/build.gradle and noticed that under line 57 there was another commented line of implementation, I uncommented this line (line 58) and the project started to run normally.
Is that so or did I do something wrong?
👍 @Alvarocda . This was my fault. I forgot to tell you that Tau Sound has a git subproject : tau_native
If you look to this diagram you can see that the τ project is architectured with 3 layers. Actually, your development of "Play from Asset" will impact only the High level in Dart (Platform Support). So the change the two lines of build.gradle is OK. If you will want to do other developments in the future, then I will explain you how to develop in the Low level.
Sorry for not having told you. Congratulation to have found yourself how to fix your issue.
How to play the local audio of the project. It's like using local pictures ??
This issue is stale because it has been open 90 days with no activity. Leave a comment or this will be closed in 7 days.
Flutter Sound Version :
Released or Beta version ? Released
Version number ? 6.4.2+1
FULL or LITE flavor ? FULL
Result of the command "flutter pub deps | grep flutter_sound" (very important)
|-- flutter_sound 6.4.8+2 | |-- flutter_sound_platform_interface 6.4.8+2 | |-- flutter_sound_web 6.4.8+2 | | |-- flutter_sound_platform_interface...
Severity
Platforms you faced the error
Android real device
Logs
(This is very important. Most of the time we cannot do anything if we do not have information on your bug)
(I have no idea even after searching): E/FlautoPlayer(25600): startPlayer() exception E/flutter (25600): [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: PlatformException(ERR_UNKNOWN, ERR_UNKNOWN, startPlayer() error, null) E/flutter (25600): #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:582:7) E/flutter (25600): #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:18) E/flutter (25600):
E/flutter (25600): #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:332:12)
E/flutter (25600): #3 MethodChannelFlutterSoundPlayer.invokeMethod (package:flutter_sound_platform_interface/method_channel_flutter_sound_player.dart:161:21)
E/flutter (25600): #4 MethodChannelFlutterSoundPlayer.startPlayer (package:flutter_sound_platform_interface/method_channel_flutter_sound_player.dart:227:14)
E/flutter (25600): #5 FlutterSoundPlayer.startPlayer. (package:flutter_sound/public/flutter_sound_player.dart:870:61)
E/flutter (25600):
E/flutter (25600): #6 FlutterSoundPlayer.startPlayer. (package:flutter_sound/public/flutter_sound_player.dart)
E/flutter (25600): #7 BasicLock.synchronized (package:synchronized/src/basic_lock.dart:32:26)
E/flutter (25600): #8 FlutterSoundPlayer.startPlayer (package:flutter_sound/public/flutter_sound_player.dart:852:17)
E/flutter (25600): #9 SoundManager.playUserAudioButton. (package:quiz/src/sound_manager.dart:95:32)
E/flutter (25600): #10 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:993:19)
E/flutter (25600): #11 _InkResponseState.build. (package:flutter/src/material/ink_well.dart:1111:38)
E/flutter (25600): #12 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:183:24)
E/flutter (25600): #13 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:598:11)
E/flutter (25600): #14 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:287:5)
E/flutter (25600): #15 BaseTapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:222:7)
E/flutter (25600): #16 PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:476:9)
E/flutter (25600): #17 PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:77:12)
E/flutter (25600): #18 PointerRouter._dispatchEventToRoutes. (package:flutter/src/gestures/pointer_router.dart:122:9)
E/flutter (25600): #19 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:377:8)
E/flutter (25600): #20 PointerRouter._dispatchEventToRoutes (package:flutter/src/gestures/pointer_router.dart:120:18)
E/flutter (25600): #21 PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:106:7)
E/flutter (25600): #22 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:358:19)
E/flutter (25600): #23 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:338:22)
E/flutter (25600): #24 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:267:11)
E/flutter (25600): #25 GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:295:7)
E/flutter (25600): #26 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:240:7)
E/flutter (25600): #27 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:213:7)
E/flutter (25600): #28 _rootRunUnary (dart:async/zone.dart:1206:13)
E/flutter (25600): #29 _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (25600): #30 _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
E/flutter (25600): #31 _invoke1 (dart:ui/hooks.dart:265:10)
E/flutter (25600): #32 _dispatchPointerDataPacket (dart:ui/hooks.dart:174:5)
Screenshots
(If applicable, add screenshots to help explain your problem).
Describe the bug A clear and concise description of what the bug is.
To Reproduce Steps to reproduce the behavior: Compile and run with Android Studio