-
-
Notifications
You must be signed in to change notification settings - Fork 326
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unable to play songs in the app #1748
Comments
same for me, innertune server things i suppose |
I am experiencing the same thing. |
I have the same problem |
I thought it used youtube's servers? |
Same here. |
Yeah, hoping it won't be just like the ViMusic app |
yes, but some apps like innertune still works even without account, but innertune doesn't work, with neither no account nor with one |
Yaa, same thing I can't play any songs & it's showing unknown error |
Yea fr I got a bit scared |
Yup, I'm having the same issue for the last two days now. Rebooted my phone, logged-out from my YouTube Music account, reinstalled the app, installed an older version — and the problem persists. |
The error also occurs for me, however I noticed that any songs that are downloaded or are in the cache are working, so I guess its something with getting the songs from youtube |
Same problem here |
Same issue. |
Same problem |
Same here |
I've had the same issue but this only started the latter half of yesterday the app worked fine in the morning, also all the songs I downloaded before all work fine. I think it's the problem of fetching songs from YouTube bit idk why |
Until the issue's resolved, I recommend using YouTube Music patched with Revanced. |
I have the same issue and only downloaded/cached songs play just fine other than that i get "unknown error" |
i have the same problem but only happen with songs i dont downloaded |
Plz solve it! We have faith! |
Same problem here too. |
Same problem. |
It is a query error to YouTube, it seems that the API does not work correctly and returns an error as shown below. |
It worked yesterday still fine for me but I am having the same issue now, it seems like Google is slowly blocking unauthorized access to their API |
Im going crazy rn, i got back to innertune two days ago (Used to use it in 2022) and this happens |
I have discovered that the error comes from the android key "ANDROID_MUSIC" which is in YoutubeCient, it is necessary to change it and you will be able to get the youtube streaming. |
We all hv the same issue at the same time... ayooo😭🙏 |
https://github.com/DD3Boh/OuterTune seems to have made a temporary fix, it's a fork of this project and they just removed the account for streaming, this means you can't access content that's restricted by account (private) |
Yep, I just checked the code of the fork Metrolist because some people have been recommending it here and it just does the same, it removes login info to get the audio stream, so age restricted songs don't play but at least the rest works. |
Is there a way I can remove the account from the app? Will that fix it? I want to play just public, none age restricted music, the only reason I even logged in was to sync my playlists |
not working for me, says to login altough I am logged in |
not for me, tells me to log in although I am |
Is it fixed now? 12/24 |
I wasn't logged in, initially I could play some songs until finally, the song I was playing suddenly stopped playing, and the message "unknown error" appeared. Guys, it turns out we have to log in to be able to do it. |
Multiple approaches are in the works. You can test a build from my yt-dlp PR here: There is no decision yet on what will be the final solution. |
Is the link taken down. It shows page not found for me |
You have to be logged-in to download |
Hello, @gechoto : I've noticed that you're working on a version using yt-dlp. Do you think this could be the definitive solution for the current issues? I've been reviewing your code, and it looks like you've adapted it quite well. However, I've encountered an issue on my device: when trying to play music restricted by YouTube on its normal connection, the application crashes. I'm not sure if this is specific to my device or a general issue. Is there anything we can assist with to help you perform additional tests? |
Malopieds' Innertune fork is back up and running. Signing into Google does break song playback however, so I would suggest not doing that. |
I hope we don't have to use yt-dlp but currently it is the only working solution. Currently I experiment with NewPipeExtractor in a new PR. If that turns out to be working I would prefer that over yt-dlp.
I pushed an update to the yt-dlp PR. Please test the latest build. If it still doesn't work I need logs.
Not about tests but if anyone wants to help you can work on this: We need it to get the PR with NewPipeExtractor working. |
Hello @gechoto , I will test the new version you released to see if I can resolve the issue when loading songs. I’m not very familiar with NewPipe Extractor, but from what I understand, it seems you're dealing with an issue related to "translating a URL for streaming." If you have an adapted version of NewPipe Extractor for Innertune that I can review, I’d like to analyze the request results and attempt to deobfuscate them. Even if the request shows an error, it would be helpful to see where it fails or at least understand how NewPipe Extractor works to handle obfuscation. If the issue is similar to what I experienced with Joss Red while adapting music streaming for Joss Music, the most appropriate solution I found was passing cookie parameters using the Netscape format. However, this has a drawback, as the URL would need to go through a "proxy streaming," which impacts response speed. Additionally, Google’s protections, which rely on account and IP-based responses, are challenging to adapt without a closed backend. These cases require "access" with an account that remains unnoticed—something I hope is not the case with NewPipe Extractor. In Joss Music, we are already using a proxy streaming method with the YouTube V1 and V3 APIs combined with cookie injection. This allowed some flexibility to deobfuscate URLs. However, integrating this approach in a public environment would represent a security risk for users. Therefore, we need to proceed cautiously with these methods. Let me know if there’s a version or information you can share. I hope we can find a solution! |
Just so you know a proxy solution probably won't work for long. YT is very aggressive lately blocking datacenter/VPN/proxy IPs so as soon as they detect for example an unusual amount of requests from your server it will likely be blocked.
This means you also proxy the users cookies? Indeed a risk and not a small one. Don't do that.
See next post |
Potential fix - please testDownload: https://github.com/z-huang/InnerTune/actions/runs/12531278666/artifacts/2368550482 This is a build from my current PR which changes some clients, params and integrates NewPipeExtractor. Please test:
Note:
|
@gechoto Regarding cookies, they are indeed injected, but never from users. These cookies come from an account specifically configured as a developer. This prevents detection or blocking, as requests are processed as if made through YouTube’s V1 API. This is a functionality that SASID (if I’m not mistaken) used to perform, but it now works again. I’ll test your PR and let you know what I find. For now, I owe you feedback on exclusive content playback, but I’ll share the results of the other tests. Does that work for you? |
Innertune with NewPipe ExtractorTest Results:
12-28 20:54:06.600 E/AndroidRuntime(25875): java.lang.IllegalStateException: Default FirebaseApp is not initialized in this process com.zionhuang.music.debug. Make sure to call FirebaseApp.initializeApp(Context) first.
12-28 20:55:34.452 E/MediaResumeListener(2300): Cannot resume with ComponentInfo{com.zionhuang.music.debug/com.zionhuang.music.playback.MusicService}
12-28 20:56:08.774 E/MediaSyncManager_3742_3742(3742): updateController packageName:com.zionhuang.music.debug playbackState:0 playbackState?.actions:7339655 playbackState:PlaybackState {state=NONE(0), position=0, buffered position=0, speed=0.0, updated=20319431, actions=7339655, custom actions=[], active item id=0, error=null}
Observations:When attempting to play restricted content without login, a special content block should be implemented to prevent such actions instead of causing the app to crash. Additionally, the streaming quality has decreased, which might hinder the user experience. It would be useful to explore if NewPipe Extractor offers an option to select the quality when retrieving the URL. To avoid quality loss, it is recommended to always use YouTube’s V1 API and only rely on NewPipe Extractor when strictly necessary. Additional Information:These tests were conducted on a Redmi 10C running Rising OS based on Android 15, rooted with KernelSU. The console used was MatLog. |
Your account can get banned like in this case:
this is expected to not work - you need to be logged in
I haven't changed anything about Firebase so it seem unrelated to my PR. Can you try to build a
Please test again with the latest changes from the PR. Also make sure to test with songs which were never loaded before. If in doubt just reset the app (delete all data or uninstall->reinstall without restoring a backup).
This is already the case. The app shouldn't crash. The crashes are likely related to Firebase. Try again without Firebase.
Known issue. See the "Disadvantages" in my PR description for more info.
This already happens. The main relevant requests are still done by InnerTune directly. Thanks for your test results so far. |
Updated test buildDownload: https://github.com/z-huang/InnerTune/actions/runs/12536995462/artifacts/2369536291 This is now a @josprox Can you test with this? |
|
This is normal, apps that use Compose (like this one) have a much worse performance when compiled in debug mode. When this is merged and a new official release is launched performance should be the same as before. |
This usually doesn't work. I guess it just played the song from the cache. |
Also, I think it's worth to note that age-restricted is not the same as explicit. There are explicit songs that are not age-restricted and can be played without login even in current version. I was confused about this earlier as well. If you want to actually test age-restricted content, the first seven videos of this playlist are age-restricted: https://www.youtube.com/playlist?list=PL132PBk1ji-HyjqSuw2I7bXXB-QdpP7IB |
This is exactly why I included this question:
Also sometimes only the video of a song is age-restricted but the audio-only version is not. |
Tried this playlist: Update: |
Hello @gechoto ,I’ve tested the latest version and conducted the corresponding tests. Here are the results:
Regarding the audio quality, it’s excellent regardless of whether NewPipe Extractor is used or not. Additionally, I noticed there are no delays when loading the app, which significantly enhances the user experience. In summary, this version seems very complete. I believe it could now be released as a final version since I didn’t encounter any major issues. |
Observations on Volume AdjustmentAs you can see in the following two images, Innertune allowed users to set the volume to 100% and adjust it directly from the application without issues. It seems that NewPipe Extractor might not be properly configured to retrieve the volume range from the player when fetching a song. Previously, this worked seamlessly, whether through the YouTube API V1, as Innertune natively handles it, or when streaming songs via Joss Red, as used in Joss Music. It’s likely that a minor change was made when fetching or editing the playback range. While it’s not a critical issue, it is an important one to address. |
Checklist
Steps to reproduce the bug
"1. Look up for the song in the search menu or select song from library"
"2. Select song to play"
Expected behavior
"song should play"
Actual behavior
Shows:"Unknown error"
Screenshots/Screen recordings
Logs
Unable to provide log file, apologies.
InnerTune version
0.5.10
Android version
Android 12
Additional information
Have tried reinstalling the app but the issue persists.
The text was updated successfully, but these errors were encountered: