Typ javax.sound.midi.Sequence nie można rozwiązać




Staram się korzystać z programowania muzyki open source API [JFugue](http://www.jfugue.org/) w moim Android 3.0 aplikacji i otrzymuję ten znacznik błędu na linii `player.play(pattern);`:



```
The type javax.sound.midi.Sequence cannot be resolved. It is indirectly referenced from required .class files

```

Quickfix jest skonfigurować ścieżkę budować, co nie jest problemem. Linia ta działa dobrze w aplikacji java, ale nie aplikację na Androida. Jak mogę to obejść w Androidzie? Mam źródło JFugue i może zmodyfikować go użyć czegoś innego, gdybym miał. Czy mimo to zmusić go do pracy, czy powinienem użyć innego API?


**Aktualizacja:** próbowałem dodawanie rt.jar do ścieżki kompilacji, ponieważ zawiera typ javax.sound.midi.Sequence, ale utworzona granica GC Overhead przekroczony błąd. Próbował zbudować projekt utknął w 69%, i rozbił się.
Android nie ma `javax.sound.midi.*`więc niestety bibliotek jak JFugue nie działają.
Skorzystaj z tej porady:
  
[http://pl.ccm.net/faq/9895-muzyka-google-play-pobieranie-muzyki-do-sluchania-offline](/faq/9895-muzyka-google-play-pobieranie-muzyki-do-sluchania-offline) To ostrzeżenie jest tam, ponieważ Java nie jest faktycznie przechowywania informacji typu w czasie wykonywania w obiekcie, który używa rodzajowych. Tak więc, jeśli `object`jest rzeczywiście `List<String>`, nie będzie `ClassCastException`w czasie wykonywania wyjątkiem aż element jest dostępny z listy, która nie pasuje do typu rodzajowego zdefiniowanego w zmiennej. 


Może to spowodować dalsze komplikacje, jeśli elementy są dodawane do listy, z tej błędnej informacji ogólnych typu. Każdy kod nadal trzyma odniesienie do wykazu, ale z prawidłowym informacji ogólnych typu będą miały teraz listę niespójne. 


Aby usunąć ostrzeżenie, spróbuj:



```
List<?> list = (List<?>) object;

```

Należy jednak pamiętać, że nie będą mogli korzystać z pewnych metod, takich jak dodawanie, ponieważ kompilator nie wie, czy próbujesz dodać obiekt nieprawidłowego typu. Powyższe będzie działać w wielu sytuacjach, ale jeśli trzeba użyć dodać, lub jakiś podobny sposób ograniczony sposób, po prostu trzeba cierpieć żółty podkreślenia w Eclipse (lub `SuppressWarning`adnotację). Zajrzyj do tego wątku:
  
<https://pl.ccm.net/forum/affich-13982-snapchat-nie-nagrywa-muzyki> problem rozwiązany w inny sposób - zmieniłem xfce na plasmę.

[@azja](/u/azja) dzięki za podpowiedź. Zajrzyj do tego wątku:
  
[http://pl.ccm.net/forum/affich-13982-snapchat-nie-nagrywa-muzyki](/forum/affich-13982-snapchat-nie-nagrywa-muzyki) też mnie wkurza ten problem, ale zawsze o nim zapominam.

wydaje się, że można to obejść dodając do configu yay opcję "sudoloop": true

najprościej:

yay --save --sudoloop

jeszcze nie miałem okazji tego sprawdzić, ale tak napisano w manualu :slight\_smile: nie pobieraj pliku apk.  
prawdopodobnie masz zainstalowany sklep google play, tylko wyłączony.  
wchodzisz w menu i szukasz aplikacji, a tam szukasz "wszystkie aplikacje".  
wyświetlą się te uruchomione, zatrzymane i wyłączone.  
  
drugi sposób, to przywrócenie telefonu do ustawień fabrycznych (hard reset). jeśli masz jakieś ważne pliki w pamięci wewnętrznej telefonu, to przenieś je na zewnętrzny nośnik. następnie zrób hard reset. [zdjęcie] diego:

echo “deb <http://ppa.launchpad.net/linuxuprising/java/ubuntu> focal main” | tee /etc/apt/sources.list.d/linuxuprising-java.list

nie jest to dobry sposób, ta komenda z góry zakłada że korzystasz z ubuntu 20.04 i może narobić niezłego bałaganu w systemie.

[zdjęcie] kmatuszak… rozwiązaniem jest deinstalacja i ponowna instalacja aplikacji wskazówki. temat do zamknięcia. <p>miałem ten sam problem na arch linux (32-bitowy xfce) <a href="https://bbs.archlinux.org/viewtopic.php?id=227597">https://bbs.archlinux.org/viewtopic.php?id=227597</a> </p><p>udało mi się <strong> rozwiązać ten problem, wyłączając java w libreoffice </strong>&gt;</p><p><em> najpierw uruchom libreoffice, kliknij narzędzia, kliknij opcje i w sekcji libreoffice kliknij zaawansowane. odznacz „użyj środowiska wykonawczego java”) </em> i problem został rozwiązany.</p><p>nie uważam tego za dobre rozwiązanie, ale biorąc pod uwagę, że nie używam java w libreoffice, to jest dla mnie wystarczająco dobre).</p>