سؤال

ومرحبا جميعا ركض لقد ط في مشاكل أخرى مع VideoView. ثم يتم تشغيل الفيديو، وأضع جهاز نائما، وذلك باستخدام زر الصعب، ويسمى onPause(). ولكن تليها:

03-17 11:26:33.779: WARN/ActivityManager(884): Activity pause timeout for HistoryRecord{4359f620 com.package/com.package.VideoViewActivity}

وبعد ذلك لدي onStart() / onResume() مرة أخرى والفيديو يبدأ اللعب. لقد حاول نقل كود حول onStart() / onStop() - لا يبدو لجعل الفرق

ونموذج التعليمات البرمجية:

public class VideoViewActivity extends Activity {


    private String path = "";
    private VideoView mVideoView;
    private static final String MEDIA_URL = "media_url";

    @Override
    public void onCreate(Bundle icicle) {

        super.onCreate(icicle);
        setContentView(R.layout.videoview);
        mVideoView = (VideoView)findViewById(R.id.surface_view);
        path = getIntent().getStringExtra(MEDIA_URL);
    }

    @Override
    public void onResume() {

        super.onResume();
        mVideoView.setVideoPath(path);
        mVideoView.setMediaController(new MediaController(this));
        mVideoView.requestFocus();
        mVideoView.start();
    }

    @Override
    public void onPause() {

        super.onPause();
        mVideoView.stopPlayback();

        mVideoView.setMediaController(null);
    }
}

لماذا يحدث ذلك؟ وكيف يمكنني التوقف عن ذلك؟

وانها ليست أعظم تجربة من كنت وضعت الجهاز إلى النوم ويبدأ تشغيل الفيديو

هل كانت مفيدة؟

المحلول

وOK، يبدو أن السلوك يرتبط دورة حياة النشاط وحقيقة أن يتم تعيين VideoViewActivity إلى أفقي في البيان. مضيفا

android:configChanges="keyboardHidden|orientation" 

ولهذا النشاط يبدو أن علاج هذه المشكلة ثم قمت بوضع جهاز للنوم onPause فقط () دعا مباراة قبل - أعدم جميع طرق دورة الحياة. سأفعل أكثر اختبار للتأكد من أنها ثابتة ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top