private void DoGetResult(ulong requestId) { try { RaiseOnRecongnitionStateChanged(ShazamRecognitionState.Matching, null); shazamRequest.requestId = requestId; shazamRequest.art_width = 520; var request = shazamRequest; var str = request.requestId.ToString(); var orbitPostRequestBuilder = new OrbitPostRequestBuilder(encryptKey, request.key); orbitPostRequestBuilder.AddEncryptedParameter("cryptToken", request.token); orbitPostRequestBuilder.AddEncryptedParameter("deviceId", request.deviceid); orbitPostRequestBuilder.AddParameter("service", request.service); orbitPostRequestBuilder.AddParameter("language", request.language); orbitPostRequestBuilder.AddEncryptedParameter("deviceModel", request.model); orbitPostRequestBuilder.AddEncryptedParameter("applicationIdentifier", request.appid); orbitPostRequestBuilder.AddEncryptedParameter("coverartSize", request.art_width.ToString()); orbitPostRequestBuilder.AddEncryptedParameter("requestId", str); var webRequest = WebRequest.Create(kRequestResultsURL); orbitPostRequestBuilder.PopulateWebRequestHeaders(webRequest); var requestContext = new RequestContext(); requestContext.WebRequest = webRequest; requestContext.RequestBuilder = orbitPostRequestBuilder; doTimeoutRequest(requestContext, ResultReadCallback, 30000); } catch (Exception e) { RecognitionFailed(e); } }
public int DoRecognition(byte[] audioBuffer, MicrophoneRecordingOutputFormatType formatType) { shazamRequest = new ShazamRequest(); var shazamAPIConfig = new ShazamAPIConfig(); shazamAPIConfig.initKey("20FB1BCBE2C4848F"); Console.WriteLine(shazamAPIConfig.key); shazamRequest.token = "B540AD35"; shazamRequest.key = shazamAPIConfig.key; shazamRequest.audioBuffer = audioBuffer; shazamRequest.deviceid = "00000000-0000-0000-0000-000000000000"; // It works shazamRequest.service = "cn=US,cn=V12,cn=SmartClub,cn=ShazamiD,cn=services"; shazamRequest.language = "en-US"; shazamRequest.model = "Microsoft Windows"; shazamRequest.appid = "ShazamId_SmartPhone_Tau__1.3.0"; if (deviceID != null && deviceID != "") { shazamRequest.deviceid = deviceID; } switch (formatType) { case MicrophoneRecordingOutputFormatType.PCM: { shazamRequest.filename = "sample.wav"; break; } case MicrophoneRecordingOutputFormatType.MP3: { shazamRequest.filename = "sample.mp3"; break; } case MicrophoneRecordingOutputFormatType.SIG: { shazamRequest.filename = "sample.sig"; break; } } var request = shazamRequest; try { RaiseOnRecongnitionStateChanged(ShazamRecognitionState.Sending, null); var audio = request.audioBuffer; var audioLength = audio.Length.ToString(); var tagDate = DateTime.Now.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"); var orbitPostRequestBuilder = new OrbitPostRequestBuilder(encryptKey, request.key); orbitPostRequestBuilder.AddEncryptedParameter("cryptToken", request.token); orbitPostRequestBuilder.AddEncryptedParameter("deviceId", request.deviceid); orbitPostRequestBuilder.AddParameter("service", request.service); orbitPostRequestBuilder.AddParameter("language", request.language); orbitPostRequestBuilder.AddEncryptedParameter("deviceModel", request.model); orbitPostRequestBuilder.AddEncryptedParameter("applicationIdentifier", request.appid); orbitPostRequestBuilder.AddEncryptedParameter("tagDate", tagDate); orbitPostRequestBuilder.AddEncryptedParameter("sampleBytes", audioLength); orbitPostRequestBuilder.AddEncryptedFile("sample", request.filename, audio, audio.Length); var webRequest = WebRequest.Create(kDoRecognitionURL); orbitPostRequestBuilder.PopulateWebRequestHeaders(webRequest); doTimeoutRequest(new RequestContext { WebRequest = webRequest, RequestBuilder = orbitPostRequestBuilder }, RecognitionReadCallback, 30000); } catch (Exception e) { RecognitionFailed(e); } return(0); }