bluefireteam / audioplayers

A Flutter package to play multiple audio files simultaneously (Android/iOS/web/Linux/Windows/macOS)
https://pub.dartlang.org/packages/audioplayers
MIT License
2k stars 844 forks source link

The newer versions don't work with file name that has unicode #1742

Open jdevp opened 9 months ago

jdevp commented 9 months ago

Checklist

Current bug behaviour

It can't play from local file that has unicode in the file name for the newer versions. Version 4.0.1 works with unicode file names. This is regression issue. The other known issue that is that it doesn't work with file name that has space in it.

Expected behaviour

It should be able to load and play files with unicode in the file names.

Steps to reproduce

  1. Execute flutter run on the code sample
  2. ...
  3. ...

Code sample

Code sample ```dart void main() { } ```

Affected platforms

Android

Platform details

Android and iOS

AudioPlayers Version

5.2.1

Build mode

debug

Audio Files/URLs/Sources

No response

Screenshots

No response

Logs

my relevant logs
Full Logs ``` my full logs or a link to a gist ``` Flutter doctor: ``` Output of: flutter doctor -v ```

Related issues / more information

version 4.0.1 works with unicode file name but the newer versions don't.

Working on PR

no way

Gustl22 commented 9 months ago

Can you give an example?

We added a test recently which should cover this behavior: https://github.com/bluefireteam/audioplayers/blob/3a5c6dca5dd9476765a976724e3ca89574794cb0/packages/audioplayers/example/integration_test/lib_test.dart#L34

while const specialCharAsset = 'coins_non_ascii_и.wav';

jdevp commented 9 months ago

It is the same problem as mentioned here although that's for just_audio package.  Try to load a file name that has UNICODE in it from local storage, you won't be able to play it since it can't find it.  However, version 4.0.1 works fine so something was broken when you upgrade from 4.0.1 to 5.x.x. However, none of the version works with a file name that has space in it, such as "my music.mp3".

Unable to Load Audio Files with Unicode Characters in File Name in just_audio_windows

|

Unable to Load Audio Files with Unicode Characters in File Name in just_...

Description:When attempting to load audio files with Unicode characters in their names, such as дуу.mp3, the ju... |

|

|

On Thursday, January 4, 2024 at 04:56:33 PM EST, Gustl22 ***@***.***> wrote:  

Can you give an example?

We added a test recently which should cover this behavior: https://github.com/bluefireteam/audioplayers/blob/3a5c6dca5dd9476765a976724e3ca89574794cb0/packages/audioplayers/example/integration_test/lib_test.dart#L34

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

angrycodez commented 7 months ago

Not sure if this is a related Problem, but I also face the issue that audioplayers crashes when I load an audio that for example contains a '%' in the name... Any ideas about this?

jdevp commented 7 months ago

I think that it is. I'm using the following version (4.0.1). It seems that there is degradation since 4.0.1. The later version can't handle Unicode well.  Try with 4.0.1 to see if that fix your issue. However, version 4.0.1 doesn't work with file name that has space in it, so I have to work around during file picker like this: String newPath=imagePath.replaceAll("%20", "_"); File(imagePath).renameSync(newPath);

audioplayers: ^4.0.1

On Thursday, March 7, 2024 at 12:23:32 PM EST, angrycodez ***@***.***> wrote:  

Not sure if this is a related Problem, but I also face the issue that audioplayers crashes when I load an audio that for example contains a '%' in the name... Any ideas about this?

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

jdevp commented 5 months ago

Please any update on this issue? If the input file name is 天边.mp3, it prints out /storage/9016-4EF8/music4/%E5%A4%A9%E8%BE%B9.mp3 open failed: ENOENT (No such file or directory)

The last known working release is 4.1.0

jdevp commented 5 months ago

issues are still there. It can't handle file name with space or unicode in it. Have to switch to package just_audio which seems to fix the issues.