Web Analytics

YouTubePlayer

⭐ 92 stars Persian by IlyaPavlovskii

🌐 زبان

پخش‌کننده یوتیوب

Maven Central Kotlin Compose Multiplatform

badge-android badge-ios

پخش‌کننده چندسکویی یوتیوب با کاتلین. کامپوزابل YouTubePlayer به شما اجازه می‌دهد یک پخش‌کننده ویدیوی یوتیوب را در اپلیکیشن Jetpack Compose خود جای دهید.

حمایت مالی

اگر مایلید از من تشکر کنید یا در توسعه برنامه‌های آینده مشارکت داشته باشید، می‌توانید به من کمک مالی کنید. این کار به من کمک می‌کند تا بیشتر بر روی پروژه تمرکز کنم.

همچنین می‌توانید برای دریافت به‌روزرسانی‌های جدید من را در پلتفرم‌های زیر دنبال کنید

مدیوم هبرا

نصب

شما می‌توانید این کتابخانه را با استفاده از Gradle به پروژه خود اضافه کنید.

چندسکویی برای افزودن به یک پروژه چندسکویی، وابستگی را به سورس‌ست مشترک اضافه کنید:

repositories {
    mavenCentral()
}

kotlin { sourceSets { commonMain { dependencies { implementation("io.github.ilyapavlovskii:youtubeplayer-compose:${latest_version}") } } } }

نحوه استفاده

val coroutineScope = rememberCoroutineScope()
val hostState = remember { YouTubePlayerHostState() }

when(val state = hostState.currentState) { is YouTubePlayerState.Error -> { Text(text = "Error: ${state.message}") } YouTubePlayerState.Idle -> { // Do nothing, waiting for initialization } is YouTubePlayerState.Playing -> { // Update UI button states } YouTubePlayerState.Ready -> coroutineScope.launch { hostState.loadVideo(YouTubeVideoId("ufKj1sBrC4Q")) } }

YouTubePlayer( modifier = Modifier .fillMaxWidth() .height(300.dp) .gesturesDisabled(), hostState = hostState, options = SimpleYouTubePlayerOptionsBuilder.builder { autoplay(true) mute(true) // autoplay works only with mute for mobile devices controls(false) rel(false) ivLoadPolicy(false) ccLoadPolicy(false) fullscreen = true }, )

تابع کامپوزبل پارامترهای اصلی زیر را دارد:

YouTubePlayerHostState

کنترل‌کننده اصلی. شامل دو مؤلفه عمومی اصلی است:
suspend fun loadVideo(videoId: YouTubeVideoId) = executeCommand(YouTubeExecCommand.LoadVideo(videoId))
suspend fun play() = executeCommand(YouTubeExecCommand.Play)
suspend fun pause() = executeCommand(YouTubeExecCommand.Pause)
suspend fun seekTo(duration: Duration) = executeCommand(YouTubeExecCommand.SeekTo(duration))
suspend fun seekBy(duration: Duration) = executeCommand(YouTubeExecCommand.SeekBy(duration))
suspend fun mute() = executeCommand(YouTubeExecCommand.Mute)
suspend fun unMute() = executeCommand(YouTubeExecCommand.Unmute)
suspend fun setVolume(volume: Int) = executeCommand(YouTubeExecCommand.SetVolume(volume))
suspend fun setPlaybackRate(rate: Float) = executeCommand(YouTubeExecCommand.SetPlaybackRate(rate))
suspend fun toggleFullScreen() = executeCommand(YouTubeExecCommand.ToggleFullscreen)

YouTubePlayerState

وضعیت پخش‌کننده YouTube وضعیت واقعی پخش‌کننده یوتیوب را روی صفحه تعریف می‌کند. شامل حالات ممکن زیر است:
videoId: YouTubeVideoId - id of the video that is playing
duration: Duration - duration of the video
currentTime: Duration - current time of the video
quality: YouTubeEvent.PlaybackQualityChange.Quality - quality of the video, see [YouTubeEvent.PlaybackQualityChange.Quality]
isPlaying: Boolean - is video playing

YouTubeExecCommand

YouTubeEvent

نمونه

نمونه

مجوز

Copyright 2026 Ilia Pavlovskii

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-12 ---