SurfaceHolder.setType устарел ... Но требуется? - PullRequest
34 голосов
/ 25 февраля 2012

void android.view.SurfaceHolder.setType (int type)

public abstract void setType (int type) Поскольку: Уровень API 1

Этот метод устарел.это игнорируется, это значение устанавливается автоматически при необходимости.

Устанавливает тип поверхности.

http://developer.android.com/reference/android/view/SurfaceHolder.html

Он говорит, что установлен автоматически, но без него мое видео не воспроизводится.Что тут происходит?Есть ли что-то, что заменяет это?У меня есть время, чтобы видео правильно воспроизводилось на Android.

1 Ответ

55 голосов
/ 25 февраля 2012

Хитрость в том, чтобы узнать , когда устарела, что довольно трудно определить по моему опыту.Документация всегда актуальна для самого последнего доступного API, но вы, вероятно, не используете это приложение на последнем API, если я должен был предположить.Таким образом, вам все равно придется использовать этот метод (обычно с PUSH_BUFFERS), чтобы он работал на старых платформах.

РЕДАКТИРОВАТЬ: в Android 3.0 он устарел, что отражено в документах.
Так что мы можем использоватькак следующие:

if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB)
    getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
...