public string GetEmbedded(Track track, string token = null)
        {
            if (token == null)
                token = GetAccessToken();
            //WebClient to communicate via http
            WebClient client = new WebClient();
            var test = client.DownloadData(track.uri + ".json?" + "client_id=" + ClientId + "&oauth_token=" + token);

            //Authentication data
            string postData = "url=" + track.uri
                + "&format=json"
                + "&oauth_token=" + token;

            //Authentication
            string soundCloudTokenRes = "http://soundcloud.com/oembed";
            string tokenInfo = client.UploadString(soundCloudTokenRes, postData);
            return tokenInfo;
        }
예제 #2
0
 private static AudioTrack Map(Track track)
 {
     return new AudioTrack
         {
             Id = track.id.ToString(CultureInfo.InvariantCulture),
             ArtworkUri = track.artwork_url,
             Description = track.description,
             ResourceUri = track.uri,
             StreamUri = track.stream_url,
             Title = track.title,
             WaveformUri = track.waveform_url,
         };
 }
예제 #3
0
        public string UploadItem(Stream data, string setName, string title, OAuthAccessToken accessToken)
        {
            var soundCloud = new Api.SoundCloud(_apiKey, accessToken.Token);

            byte[] buffer;
            using (var ms = new MemoryStream())
            {
                data.CopyTo(ms);
                buffer = ms.ToArray();
            }
            var track = new Track
                {
                    asset_data = buffer,
                    title = title
                };

            return soundCloud.Tracks.Post(track).stream_url;
        }
예제 #4
0
 public async Task<Track> PutAsync(Track entity)
 {
     return await _resources.PutAsync(entity);
 }
예제 #5
0
 public Track Put(Track entity)
 {
     return _resources.Put(entity);
 }