Kuinka lisätä musiikkia / ääntä Flutter-sovellukseesi

Flutter Create -haasteen jälkeen ajattelin, että olisi aika luoda pohdintaa ja jakaa tietoa joihinkin haasteista, joita kohtaan ja kuinka ratkaisin nämä haasteet. Yksi näistä oli musiikin lisääminen sovellukseeni.

Saatuaan selville Flutter SDK: lla ei ole tukea äänen / musiikin toistamiseen, etsin kaikki pub.dev-sivustossa olevat saatavilla olevat paketit, jotka liittyivät musiikkiin, ja löysin seuraavat 6.

  1. assets_audio_player
  2. Audio-soitin / audiosoittimet / audiosoitin 2
  3. Huilu musiikkisoitin
  4. Fluttery Audio
  5. Stereot
  6. Musiikinsoittaja

Yritetään löytää musiikkipisäke, ei niin kova. Yritätkö löytää musiikkipisäosan, joka toimi sekä Androidilla että iOS: llä? Hieman haastavampaa.

Päästäkseni jakamaan nopean esimerkin musiikin soittamisesta jokaisen paketin kanssa ja luettelon ongelmista, joiden takia sinun ei tarvitse lähteä tutkimaan itse tutkimusta itse.

Jos haluat siirtyä nopeasti loppuun - löydät taulukon, jossa olen tehnyt yhteenvedon kunkin paketin tärkeimmistä havainnoista. Olen luettelossa, tukevatko ne Androidia ja / tai iOS: ää, jos ne tukevat etämajoitettujen musiikkitiedostojen toistamista, jos ne tukevat laitteen sisäisiä musiikkitiedostoja ja viimeinkin, jos ne tukevat musiikkitiedostojen toistamista Flutter-projektisi omaisuushakemistosta.

Haluatko kiittää minua? Näyttämällä arvostanne tästä paketista napsauttamalla Mediumia ja jakamalla se olisi erittäin tervetullutta!

assets_audio_player

Github | Pub

Tämä oli yksi ensimmäisistä kokeilluista paketeista, mutta valitettavasti se ei toimi iOS: ssä. Vältä tätä, jos tarvitset sekä iOS että Android.

Jos et halua tukea iOS: ää, tämä paketti on helppo asentaa ja voit helposti kloonata heidän esimerkkinsä testataksesi musiikkisoittimen esimerkisovellusta.

Näin asetat asset_audio_player 1.0.1: n soittamaan musiikkia heti taustalla.

kysymykset

  • Vain Android
  • Puuttuva silmukkamenetelmä äänen toistamiseksi helposti
  • Olen huomannut, että joskus ääntä ei toisteta ensimmäistä kertaa emulaattorissa, en ole varma, mikä tämän aiheuttaa, mutta suosittelen emulaattorin käynnistämistä uudelleen, ja se toimii yleensä toisen kerran minulle (ei välttämättä paketin vika, vaan vain antaa sinun olla tietoinen siitä!)

Audiosoittimet / Audio-soitin / Audio Player 2

Github | Pub

Joidenkin mahdollisten sekaannusten poistamiseksi - Jep, kun olet lukenut oikein, ensimmäisestä Audio Player -paketista on 2 haarukkaversiota.

Shocking, tiedän!

Viimeisin päivitys on Audio-soittimet. Nimestään huolimatta Audio Players 2: ta ei ole päivitetty viimeksi kuin Audio Player tai Audio Player. Sekaannusten välttämiseksi olen linkittänyt vain viimeksi päivitettyyn pakettiin.

Suosittelen käyttämään äänipelaajia, jotka ovat käyttäneet sitä Flutter Create -projektissani, ja piti sen asennuksen ja käytön erittäin helpoksi. Tämä on ainoa musiikkipaketti, jonka onnistuin saamaan toimimaan iOS: lle ja Androidille ilman ongelmaa.

Jos jonkin näistä 3 kehittäjät lukevat tätä, ota yhteyttä muiden Audio Player -pakettien kehittäjiin ja suostukaa työskentelemään yhdessä paketissa. Se ei tee kenellekään mitään suosiota, jos samasta paketista on 3 versiota. .

Tässä on nopea esimerkki laajennuksesta toiminnassa

kysymykset

  • Sama kuin asset_audio_player, jossa huomasin joskus, että ääntä ei toistettaisi heti, kun emulaattori käynnistettiin ensimmäistä kertaa (vaatisi yleensä emulaattorin uudelleenkäynnistystä)
  • MP3-tiedostojen etätoistoa ei voi toistaa heidän URL-osoitteensa avulla
  • Laitteen sisäisiä musiikkitiedostoja ei voi toistaa

Huilu musiikkisoitin

Github | Pub

Tämän liitännäisen avulla voit käyttää vain käyttäjän laitteella jo olevaa musiikkia. Se elää nimensä mukaisesti - se on täydellinen kirjasto, jos haluat kehittää musiikkisoittimen, mutta valitettavasti se tukee vain Androidia, ei sekä iOS: ää että Androidia.

Yksi asia, jota haluaisin nähdä, olisi lisätoiminnot äänen toistamiseen, jonka kehittäjä on määrittänyt Flutter asset -hakemistosta.

Jos sinulla on jonkin verran iOS-kehittämiskokemusta, olisi mahtavaa, jos osallistut projektiin, joten se toimii sekä iOS: ssä että Androidissa!

Merkintä
Varmista, että Android-laitteellasi on musiikkia aina, kun käytät plugin-esimerkkiprojektia, ja myös esimerkkimusiikkisoitinprojektia, muuten se (ja alla oleva esimerkki) ei toimi.

Jos et ole varma kuinka lisätä musiikkia nopeasti emuloituun laitteeseen, vedä ja pudota MP3-tiedosto tietokoneesta, jossa emulaattori on, siihen kohtaan, missä emulaattori on aktiivinen, ja se laittaa MP3-tiedoston automaattisesti emulaattorin lataukset. Seuraavaksi sinun on kopioitava tämä tiedosto Audio-osaan.

Kun kaikki asetukset on tehty - voit suorittaa alla olevan esimerkin!

kysymykset

  • Ei vielä otettu käyttöön iOS: ssä (lauantaista 4. toukokuuta 2019 alkaen)
  • Omaisuushakemistossa sijaitsevien mp3-tiedostojen toistaminen ei onnistu
  • Puuttuva silmukkamenetelmä äänen toistamiseksi helposti

Fluttery Audio

Github | Pub

Päivitys (7. lokakuuta 2019): Vaikuttaa siltä, ​​että tätä pakettia ei ole enää saatavana - sekä GitHub-linkki että Pub-linkki eivät enää toimi.

Jos haluat suoratoistaa musiikkia etäpaikasta verkossa - Fluttery Audio tarjoaa sinulle tämän toiminnallisuuden!

Vaikka en ole täysin varma siitä, toimiiko se iOS-projektisi kanssa, on ongelma saada esimerkki toimimaan iOS: ssä ja huomaamaan muiden olevan vaikeuksia iOS: n laajennuksen kanssa.

Aina ajaessani esimerkkiäni Android-laitteella, törmäsin ongelmaan, koska AndroidX-tuki puuttui. Tämä johtuu toisen liitännäisen käytöstä projektissa, jossa hyödynnetään Android X: ää. Toivottavasti se päivitetään Android X: ksi pian. Nykyisin on avoin PR, jota ei ole vielä sulautettu, jotta paketti toimisi Android X: n kanssa. .

Tässä on nopea esimerkki etämusiikkitiedoston suoratoistamisesta heti, kun lataat sovelluksesi

kysymykset

  • Puuttuu Android X -tuesta juuri nyt
  • Musiikkitiedostoja ei voi toistaa Flutter-projektin omaisuuskansiosta
  • Voi olla ongelmia iOS-tuen kanssa (?)
  • Ei voinut saada sitä toimimaan rakennustoiminnon ulkopuolella
  • Puuttuva silmukkamenetelmä äänen toistamiseksi helposti

Stereot

Github | Pub

En pidä siitä, kuinka sisäisten Android- ja iOS-tiedostojen päivittäminen edellyttää manuaalisesti. Haluaisin, että tämä voitaisiin automatisoida komentosarjalla. Pääasiassa siksi, että mielestäni se voi johtaa lisäongelmiin, jos he lisäävät sen väärään tiedostoon, esimerkiksi en ole perehtynyt tyypilliseen iOS-sovelluskehitykseen, joten aina kun etsin Info.plistia, löysin useita tiedostoja, joilla oli sama nimi.

Manuaaliset tiedostoeditoinnit - ei hauskaa

Yritin useita kertoja saadakseni tämän toistamaan ääntä heti, kun sovellus avattiin, mutta törmäsin ongelmaan alkuperäisen Android-koodin kanssa, jonka vietin aikaa korjataksesi ja selvittääkseni, mikä tarkalleen aiheutti ongelman. Koska en voi edistyä enempää, jätin sen pakettivaunujen tutkittavaksi.

Valitettavasti sen jälkeen kun muutin esimerkkiäni yrittää saada paketti toimimaan aina, kun nappia napsautettiin, törmäsin edelleen samaan ongelmaan yllä, joten valitettavasti tästä paketista ei ole esimerkkiä.

kysymykset

  • Musiikin soittaminen taustalla ei onnistu sovelluksen heti käynnistämisestä
  • Näyttää siltä, ​​että Android API 27 -pakettipaketissa on ratkaisematon ongelma
  • Melko vaikea asentaa (teen ehkä jotain väärin ja siksi käsittelen näitä asioita, mutta sen ei pitäisi olla niin vaikeaa)

Musiikkisoitin (kehitteillä)

Gitlab | Pub

Parhaillaan kehitystyössä ja kun aloin tutkia ääni- / musiikkitoistolaajennuksia, siinä ei ollut esimerkkiä, ja nyt on olemassa yksi \ o / Vaikka valitettavasti en pystynyt saamaan esimerkkiä onnistuneesti näyttöön, kun testasin sen.

Repo-laajennus on päivitetty versioon 0.0.6, mutta pubin uusin versio on 0.0.3. Mielestäni on parasta seurata tämän laajennuksen edistymistä ja päivittää tämä osa tulevaisuudessa, kun uudempi versio on julkaistu pubiin.

Tällä hetkellä mielestäni paketti saattaa olla vain iOS, vaikka en olekaan täysin varma. Jos näin on, ehkä paras tapaus on Flute Music Player- ja Music Player -tiimien kehittämät tuotteet yhdestä Music Playerista, joka tarjoaa saman toiminnallisuuden sekä iOS: lle että Androidille

kysymykset

  • Kehitysvaiheessa eikä ole käyttövalmis

johtopäätös

On yllättävää nähdä niin monia erilaisia ​​musiikki- / äänipaketteja, jotka ovat jo saatavilla Flutterille, mutta kuten alla olevasta taulukosta näet, jokaisesta paketista puuttuu joitain tärkeitä ominaisuuksia, ja on tärkeää olla tietoinen niistä, ennen kuin valitset paketin käytä projektissasi.

Olen käyttänyt ”?” Joihinkin paketteihin, joissa tunsin olevani täysin epävarma siitä, onko hyvä idea käyttää pakettia tähän tarkoitukseen omien henkilökohtaisten kokemusteni perusteella - esimerkiksi voin tehdä jotain erittäin väärässä Stereossa, joten kiitos muiden jakavan kokemuksensa.

Toivon mielelläni, että jotkut näiden pakettien kehittäjistä toimivat yhdessä tuottamaan 1/2-paketteja, joissa on kaikki nämä tärkeimmät ominaisuudet ja mikä tärkeintä Flutter-sovelluksissa - toimii sekä iOS: ssä että Androidissa.

Jaa ajatuksesi!

Auttaaksemme niitä, jotka haluavat käyttää yhtä näistä paketeista, ja myös näiden pakettien kehittäjiä, mielestäni olisi hienoa kerätä kysely, jotta voit jakaa kokemuksesi Flutterin musiikki- / äänipaketeista.

Rakastan sitä, jos voisit täyttää tämän kyselyn Flutter-musiikki- / audiopaketeista: https://forms.gle/JD4j9GQjgHEibJP5A

vihdoin

Kiitos lukemisesta! Toivon, että tämä kirjoitus on auttanut sinua valitsemaan tarpeisiisi sopivan paketin Flutter-projektissasi!

Minä juhlin sitä, että pääset tämän kirjoituksen loppuun

https://twitter.com/MarkOSullivan94