Не удалось решить: com.google.android.exoplayer: exoplayer- smoothstreaming: 2.9.1

Я пытаюсь создать простое приложение для Android для видеоплеера с exoplayer.

Я нашел пару примеров:

https://github.com/brianwernick/ExoMedia/?

https://github.com/ayalus/ExoPlayer-2-Example?

https://github.com/google/ExoPlayer?

Однако, когда я пытаюсь собрать и запустить проекты, я получаю ту же ошибку:

Failed to resolve: com.google.android.exoplayer:exoplayer- smoothstreaming:2.9.1 Install Repository and sync project
Open File Show in Project Structure dialog

Я использую последнюю версию студии Android, и при нажатии на «Установить репозиторий и синхронизировать проект» появляется следующее сообщение об ошибке:

"Could not find dependency "com.google.android.exoplayer:exoplayer-smoothstreaming:2.9.1"" 

Не знаю, как решить проблему. Если вы можете поделиться простым примером проигрывателя, он также может сработать для меня.

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
3 213
4

Ответы 4

Я думаю, что вы пропустили тип своей зависимости:

       <dependency>
            <groupId>com.google.android.exoplayer</groupId>
            <artifactId>exoplayer-smoothstreaming</artifactId>
            <version>2.9.1</version>
            <type>pom</type>
        </dependency>

Вы также должны добавить репо, содержащее этот артефакт (например, maven.google.com), в свои репозитории, чтобы получить его.

   <repositories>
        <repository>
            <id>android-studio</id>
            <url>https://maven.google.com</url>
        </repository>
    </repositories>

для gradle обратитесь к https://github.com/google/ExoPlayer

Изменение файла gradle следующим образом решило проблему

allprojects {
    repositories {
        maven { url 'https://google.bintray.com/exoplayer/' }
        maven { url 'https://dl.bintray.com/android/android-tools' }
        maven { url 'https://dl.bintray.com/firebase/gradle/' }
        google()
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
        flatDir {
            dirs 'libs'
        }
    }

}

зависимость exoplayer теперь должна быть доступна в jcenter (). Пожалуйста, дайте нам знать, если у вас по-прежнему возникнут какие-либо проблемы. https://issuetracker.google.com/issues/120759347#comment97.

Поскольку Google закроет jcenter в 2022 году, exoplayer теперь нужно устанавливать исключительно из Google Maven, также известного как google, что также является рекомендуемым способом установки в соответствии с их страницей Github.

Однако, похоже, некоторые более старые версии exoplayer, например. v2.9.x, существует только на jcenter. Это может быть проблемой, если ваше приложение переходит с jcenter в соответствии с рекомендациями Google. Проблема легко исчезнет, ​​если вы установите последнюю версию exoplayer, v15.

Я предлагаю, если вы уже рассматриваете возможность отказа от старого jcenter, вы можете также обновить exoplayer до его последней версии.

Другие вопросы по теме