تطبيق Flutter مع موسيقى خلفية (خارجي)

3

عند تشغيل الموسيقى على تطبيق يتم تشغيله في الخلفية (مثل موسيقى Google Play و Apple Music و Spotify وما إلى ذلك) ، إذا قمت بتشغيل أي صوت في تطبيق الرفرفة ، فإن موسيقى الخلفية تتوقف / تتوقف مؤقتًا ولا يتم إعادة تشغيلها بعد اكتمال الصوت تلعب.

لقد جربت هذا مع مكتبة TTS ومكتبة AudioPlayer على iOS.

أي نصائح حول كيفية استئناف تشغيل صوت الخلفية بعد اكتمال الصوت الخاص بي (والذي هو حرفيا عبارة عن عبارة 2/3 ثانية)؟

لست متأكدا بعد ما إذا كان هذا يؤثر على Android.

ملاحظة: يُستخدم TTS في هذا المثال ولكنه يحدث مع كل مكتبة جربتها.

Pubspec.yaml

tts: "^1.0.1"

الشفرة:

import 'package:flutter/material.dart';
import 'package:tts/tts.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.red,
      ),
      home: new AudioExample(),
    );
  }
}

class AudioExample extends StatefulWidget {
  @override
  _AudioExampleState createState() => _AudioExampleState();
}

class _AudioExampleState extends State<AudioExample> {

  speak() async {
    Tts.speak('Hello World');
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
        title: new Text('Audio example app'),
      ),
      body: Container(
        width: double.infinity,
        height: double.infinity,
        decoration: BoxDecoration(
          color: Colors.grey[300],
        ),
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.center,
          children: <Widget>[
            IconButton(
              icon: Icon(Icons.play_arrow),
              onPressed: speak,
              color: Colors.red,
              iconSize: 100.0,
            ),
            new Padding(
              padding: const EdgeInsets.all(20.0),
              child: Text(
                  'Will say hello world once clicked and pause background audio on iOS - how to restart background audio after playing has finished?',
                textAlign: TextAlign.center,
              ),
            ),
          ],
        ),
      ),
    );
  }
}

1 إجابة

0

يمكنك إضافة الموسيقى في ملف Java أفضل من Flutter وإضافة Looping Go إلى android / app / src / main / java / com / example / ProjectName / MainActivity.java

و أضف

  mediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.MusicName);
  mediaPlayer.setLooping(true);
  mediaPlayer.start();
  mediaPlayer.setLooping(true);

في الطريقة onCreate وانتقل إلى مجلد يسمى res وإنشاء فيه مجلد يسمى الخام ووضع فيه الموسيقى الخاصة بك

:مؤلف

أسئلة ذات صلة

فوق
قائمة طعام