Я думаю, что нет решения
, поэтому ответ: MediaRecorder / Android глючит, или мобильные компании не заботятся обо всех функциях Android при разработке своих устройств
Update
g4]
MediaCodec
также не работает с canvas
mSurface = mMediaCodec.createInputSurface();
mSurface.lockHardwareCanvas()
Он работает с гораздо большим количеством устройств с MediaCodec, но все же некоторые устройства могут неправильно записывать видео с помощью этого метода
Итак, окончательный ответ: никогда не используйте lockCanvas
или lockHardwareCanvas
при работе с MediaCodec
или MediaRecorder
, это глючит ..
Единственный способ - OpenGl ES
другие ссылки о проблеме:
https://github.com/googlesamples/android-Camera2Video/issues/86 https://issuetracker.google.com / вопросы / 111433520
Вместо этого return Stage2()
:
from flask import redirect, url_for
def home():
form = SelectImageForm()
if form.validate_on_submit():
Label_Required = form.ImageLabel.data
Amount_Required = form.Amount.data
Cloud_Transfer(form.ImageLabel.data, form.Amount.data)
flash(f'Searching Labels for {form.ImageLabel.data}!', 'success')
form = SelectXMLConversion()
return redirect(url_for('stage2'))
return render_template('home.html', title = 'Label Selection', form=form )
Кроме того, определения маршрутов должны быть функциями, которые должны быть в нижнем регистре, как def home()
и def stage2()
. Я считаю, что label_required
и amount_required
также должны быть переменными, которые также должны быть в нижнем регистре. Возможно, вы захотите проверить соглашения по именованию в Python .
Наконец, маршрут stage2()
потерпит неудачу. Вы не вернете шаблон, если форма не подтверждена. Предположительно, вы хотите, чтобы люди сначала заполнили форму на этом маршруте, и в этом случае у вас должно быть return
вне этого условия if form.validate_on_submit():
.