未找到符号 ExoPlayerFactory

问题描述 投票:0回答:3

我想弄清楚这个问题简直要疯了。这根本没有意义。我已在我的

build.gradle
文件中添加了所需的实现并将其同步得很好,但是当我尝试使用 ExoPlayer 时,找不到它。我什至尝试使用自动完成功能手动输入导入行,自动完成功能中唯一可用的
com.google.android.exoplayer2
Buildconfig
R.
我不知道发生了什么。我有一个项目使用了它,一切都很棒。好久没打开了,想重新学习一下,所以打开了,现在无论怎么操作都找不到ExoPlayer的符号。

这是我的

build.gradle
文件...

apply plugin: 'com.android.application'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "test.notreal.justatext"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main {
            jniLibs.srcDirs = ['libs']
        }
    }
    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:animated-vector-drawable:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:support-v13:28.0.0' //THIS
    implementation 'com.android.support:support-media-compat:28.0.0' //AND THIS
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-auth:17.0.0'
    implementation 'com.google.firebase:firebase-database:17.0.0'
    implementation 'com.google.firebase:firebase-storage:17.0.0'
    implementation 'de.hdodenhof:circleimageview:1.3.0'
    implementation 'com.soundcloud.android:android-crop:1.0.1@aar'
    implementation 'com.jakewharton:butterknife:9.0.0-rc2'
    annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc2'
    implementation 'com.github.jd-alexander:LikeButton:0.2.3'
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    implementation 'fr.tvbarthel.blurdialogfragment:lib:2.2.0'
    implementation 'com.android.support:support-v4:28.0.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'com.scottyab:aescrypt:0.0.1'
    implementation 'com.daimajia.slider:library:1.1.5@aar'
    implementation 'com.google.firebase:firebase-messaging:18.0.0'
    implementation 'com.google.android.exoplayer:exoplayer:r2.5.0' //RIGHT HERE
    implementation 'com.bignerdranch.android:recyclerview-multiselect:0.2'
    implementation 'com.theartofdev.edmodo:android-image-cropper:2.5.+'
    testImplementation 'junit:junit:4.12'
    implementation 'jp.co.cyberagent.android.gpuimage:gpuimage-library:1.4.1'
    implementation 'jp.wasabeef:glide-transformations:3.0.1'

}





apply plugin: 'com.google.gms.google-services'

在里面你可以看到...

implementation 'com.google.android.exoplayer:exoplayer:r2.5.0'

应用程序将正确执行 gradle 同步,但在我的应用程序中,以下所有内容都是红色的......

import com.google.android.exoplayer2.ExoPlayerFactory;
import com.google.android.exoplayer2.SimpleExoPlayer;
import com.google.android.exoplayer2.extractor.DefaultExtractorsFactory;
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
import com.google.android.exoplayer2.source.ExtractorMediaSource;
import com.google.android.exoplayer2.source.MediaSource;
import com.google.android.exoplayer2.trackselection.AdaptiveTrackSelection;
import com.google.android.exoplayer2.trackselection.DefaultTrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.ui.SimpleExoPlayerView;
import com.google.android.exoplayer2.upstream.BandwidthMeter;
import com.google.android.exoplayer2.upstream.DataSource;
import com.google.android.exoplayer2.upstream.DefaultBandwidthMeter;
import com.google.android.exoplayer2.upstream.DefaultDataSourceFactory;
import com.google.android.exoplayer2.util.Util;

exoplayer2 之后的一切。是红色的。它找不到任何东西的符号。为了确保自己不会发疯,我开始了一个新项目,在我全新的干净的 build.gradle 文件中添加了 exoplayer 的实现,打开主要活动并输入

SimpleExoPlayer player = ExoPlayerFactory.newSimpleInstance(this);

并且它找不到该符号。无法导入它,它仍然只显示

BuildConfig
R
符号之后的所有内容 我尝试更新到较新的版本,如 2.10.1,这会导致构建失败,有关合并 android 清单的失败,在全新的干净应用程序上。所以我无法更新版本,但是突然间无论我做什么Android Studio都找不到ExoPlayer符号。
    

android android-gradle-plugin exoplayer2.x
3个回答
7
投票
编辑2022年6月10日

从 Exoplayer 2.16.0 版本开始。

com.google.android.exoplayer2.

已弃用。所有功能已移至

SimpleExoPlayer
。可以使用
ExoPlayer
代替
ExoPlayer.Builder

旧解决方案

谁在更新后仍然没有在包中找到 ExoPlayerFactory 类,它已从 2.14.0 版本中删除了

你应该使用

SimpleExoPlayer.Builder

检查此处:

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


6
投票
版本


0
投票

SimpleExoPlayer.Builder

由于 ExoPlayer 已被弃用,您仍然可以重写自定义类来替换 ExoPlayerFactory java 类及其导入。

© www.soinside.com 2019 - 2024. All rights reserved.