** This is an unofficial SDK for flutter

Automatic content recognition (ACR) is an identification technology to recognise content played on a media device or present in a media file. This enables users quickly obtain detailed information about the content they have just experienced without any text based input or search efforts.

ACR can help users deal with multimedia more effective and make applications more intelligent. More info.

🤔 How ACR works

Take the most popular music recognition and discovery app Shazam for example. The ACR workflow is as follows.

More info.

📸 Screen Shots

🚀 Initialize SDK

  final AcrCloudSdk arc = AcrCloudSdk();
          host: '', // obtain from 
          accessKey: '', // obtain from 
          accessSecret: '', // obtain from 
          setLog: false,
  void searchSong(SongModel song) async {
      print(song); // Recognized song data

Initialize sdk and listen for song recognition events.

️🎶 Start Recognition

 bool started = await arc.start();
  • This function will automatic start the recording and recognizing process.
  • When there’s a result, songModelStream & resultStream will return the data as events.
  • The whole recognition time is controlled by ACRCloud’s Server.
  • You can call the stop function to terminate this process.

⛔ Stop Recognition

 bool started = await arc.stop();
  • This function will cancel the recognition immediately.

✨ Contribution

Lots of PR's would be needed to improve this plugin. So lots of suggestions and PRs are welcome.