Я использую последнюю версию libspotify API (12.1.51). И я кодирую использование C# и libspotify. ЧИСТЫЙ (простая interop библиотека-оболочка для libspotify). Я построил программу, которая создает плей-листы, используя libspotify API. Я использую последнего клиента Spotify по рождению для Windows для проверки моих созданных плей-листов.
Я построил программу, которая ждет названия плей-листа и списка следа URIs или один URI альбома и создает соответствующий плей-лист. Если URI альбома будет поставляться тогда, то все следы из альбома будут добавлены к новому плей-листу иначе поставляемый список следа, URIs будет использоваться, чтобы создать новый плей-лист. Программа ждет до отзыва
playlist_update_in_progress
назван и сделанный параметр равняется верный прежде, чем принять, что новые плей-листы создают.
Это работает хорошо за исключением того, что иногда плей-листы создаются без имен, но действительно имеют все следы. Я могу просто сказать программе создавать тот же самый плей-лист, который не получил имени, и это могло бы работать во второй раз. Это происходит беспорядочно, но я заметил, что, если я создаю приблизительно 200 плей-листов тогда, возможно, 5-10 плей-листов не получают имен. Я вижу, что плей-листы добавляются в вашем клиенте Spotify, когда программа управляет и создает плей-листы и беспорядочно видит плей-листы без имен. Плей-листы появляются почти в то же время, отзыв называют и делают, равняется верный (не всегда, конечно, могла бы быть задержка). Я пытался вручную переименовать плей-листы в клиенте Spotify для Windows без проблем (длина названия плей-листа была 0 или пустая строка, если вы будете). Клиент Spotify по рождению даже не позволяет пустые названия плей-листа.
Я использую:
sp_playlistcontainer_add_new_playlist
чтобы добавить новый плей-лист и я попытался использовать IntPtr и последовательность C#, чтобы пройти к нему. Попробованный оба:
[DllImport("libspotify")]
public static extern IntPtr sp_playlistcontainer_add_new_playlist(IntPtr playlistContainerPtr, string name);
[DllImport("libspotify")]
public static extern IntPtr sp_playlistcontainer_add_new_playlist(IntPtr playlistContainerPtr, IntPtr namePtr);
И я также попробовал
sp_playlist_rename
переименовывать плей-лист несколько раз (как своего рода фиксация) без успеха. Я не знаю точно, что происходит в сервере, когда плей-листы создаются. Действительно ли это - ошибка или что продолжается?
Я действительно попробовал много хакерских проникновений, чтобы сделать эту работу, но напрасно.
Больше информации о программе:
Сначала это соединяется с Spotify и затем ждет некоторого входа пульта.
Это проверяет вход на следующие последовательности:
Создать плей-лист, используя имя и список следов:
createplaylistfromtracks "Tracks playlist" spotify:track:36MuLw248uzLPtrJ6073ZR spotify:track:5WPkvx0MARhlWhXp1sJg4k spotify:track:1VrdbSFVU9wJkuDM2sWYVe spotify:track:66RG0BBwpQqHxZs06UUyeo spotify:track:0zp3uPuhnARR1XYsgg5JLV
и создать плей-лист, используя имя и список следов от URI альбома:
createplaylistfromalbum "Album playlist" spotify:album:5rVwDKRKa1FjDlLofDZyRb
И затем программа разбирает вход и создает плей-лист и параметры настройки флаг, Занятый = верный так, чтобы пульт не читал входа до Занятый = ложный, который происходит, когда playlist_update_in_progress отзыв называют и делают, верно. Тогда это читает вход снова...
Любая помощь высоко ценилась бы.