newtaDev / pod_player

Video player for flutter web & mobile devices, Play video from youtube or vimeo or network in flutter using pod player
https://pub.dev/packages/pod_player
MIT License
106 stars 202 forks source link

videoQuality cannot be empty #235

Open Shadman554 opened 2 months ago

Shadman554 commented 2 months ago

some videos wont open and i got this error

RubenGamezTorrijos commented 2 months ago

Today, September 25, there are problems with the Youtube video links in the library, an error appears: "Error while playing video"

ge0rge000 commented 2 months ago

i have solution and solution also for get all quality for youtube contact me on whatsapp +971557474526

Shadman554 commented 1 month ago

i have solution and solution also for get all quality for youtube contact me on whatsapp +971557474526

i dont have money to give to you sorry

rsozdance commented 1 month ago

Have You found any solutions?

ge0rge000 commented 1 month ago

Solution will cost 100$

On Wed, 9 Oct 2024 at 12:19 PM shayar hashim @.***> wrote:

Have You found any solutions?

— Reply to this email directly, view it on GitHub https://github.com/newtaDev/pod_player/issues/235#issuecomment-2401790416, or unsubscribe https://github.com/notifications/unsubscribe-auth/ANSX2PARHZACWBEYEBBP5EDZ2TYINAVCNFSM6AAAAABO3BNX4GVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBRG44TANBRGY . You are receiving this because you commented.Message ID: @.***>

Purehi commented 1 month ago

Changed youtube_explode_dart. It's working for me.

`Stream _getStreams(VideoId videoId, {required bool fullManifest}) async* { try {

  if (fullManifest) {
    await for (final stream
        in _getStream(videoId, VideoController.androidClient)) {
      yield stream;
    }
  }else{
    // Use await for instead of yield* to catch exceptions
    await for (final stream
    in _getStream(videoId, VideoController.iosClient)) {
      yield stream;
    }
  }
} on VideoUnplayableException catch (e) {
  if (e is VideoRequiresPurchaseException) {
    rethrow;
  }
  yield* _getCipherStream(videoId);
}

} `

How to use final manifest = await yt.videos.streamsClient.getManifest(youtubeIdOrUrl, fullManifest: true);

I have updated my app, you can check it out. WeTube:Video&Music

MohanadDaDev commented 1 month ago

Changed youtube_explode_dart. It's working for me.

`Stream _getStreams(VideoId videoId, {required bool fullManifest}) async* { try {

  if (fullManifest) {
    await for (final stream
        in _getStream(videoId, VideoController.androidClient)) {
      yield stream;
    }
  }else{
    // Use await for instead of yield* to catch exceptions
    await for (final stream
    in _getStream(videoId, VideoController.iosClient)) {
      yield stream;
    }
  }
} on VideoUnplayableException catch (e) {
  if (e is VideoRequiresPurchaseException) {
    rethrow;
  }
  yield* _getCipherStream(videoId);
}

} `

How to use final manifest = await yt.videos.streamsClient.getManifest(youtubeIdOrUrl, fullManifest: true);

I have updated my app, you can check it out. WeTube:Video&Music

what's the implementation of _getCipherStream